Macros Excel ... - Logiciels - Windows & Software
Marsh Posté le 02-04-2007 à 10:31:23
Droopy 60 a écrit : Bonjour, |
Salut
Pas vraiment sûr d'avoir compris. Essaies cette macro:
Sub Macro1()
For i = 1 To 15
'Tu choisis le nombre de ligne
For j = 1 To 5
'Tu choisis la colonne
If Cells(i, j) = "aa" Or Cells(i, j) = "cc" Then
Rows(i).Delete
End If
Next j
Next i
End Sub
Marsh Posté le 02-04-2007 à 14:26:10
Merci de ta réponse.
C'est quelque chose dans ce goût la.
La macro ne fonctionne pas pour l'instant.
L'idée est de supprimer un ligne dans laquelle apparait une valeure texte à partir d'une colonne.
Je cherche encore, si tu as une idée
Marsh Posté le 02-04-2007 à 14:36:27
Bonjour
La macro de TAM136 fonctionne tres bien, peux tu preciser pourquoi elle "ne fonctionne pas pour l'instant" ?
Cordialement
Marsh Posté le 02-04-2007 à 14:59:21
Y a t-il un myen de t'envoyer le fichier Excel sur lequel je travail ?
Marsh Posté le 02-04-2007 à 15:12:34
il y a mon adresse mail sur mon profil apres je le partagerais ici
Marsh Posté le 02-04-2007 à 20:31:13
Bonsoir
Essaies ca :
Sub Droopy() |
Je n'ai fait qu'un test, positif. Dis nous si ca te va
Cordialement
[edit]
Ligne=Ligne-1 <(--- ca tu t'en fou, j'avais fait ca pour intialiser a chaque fois le nb de ligne, mais apres je l'ai mis en dur avec Ligne=162
[/edit]
Marsh Posté le 02-04-2007 à 22:46:10
Désolé de te répondre si tard. Mon PC de bureau me réponds "Idendifiants invalides". J'essai depuis mon portable et tient au courant.
Marsh Posté le 02-04-2007 à 22:59:33
C'es "presque" exactement ça. Simplement je connais déjà les valeurs que je veux supprimer et elles ne changent pas (HGR, UU, MU, BA, +PS, AC).
J'avais pensé au début à faire un filtre automatique et supprimer valeurs par valeurs mais ta macro est plus simple et plus conviviale
Quoi qu'il arrive je te remercie de toute l'aide que tu m'apporte.
Marsh Posté le 03-04-2007 à 08:41:31
Slaut
Je ne comprends comment ma macro ne fonctionne pas chez toi. Puisque tu connais les valeurs à suprimer, essaies ça:
Sub Macro1()
For i = 1 To 162
'1 si tu veux que la macro fonctionne à partie de la ligne1
'Comme je n'ai pas le fichier, je ne connais pas cette ligne
'Tu choisis le nombre de ligne
For j = 4 To 4
'Si j'ai bien compris, c'est la colonne 4 qui sert de référence
If Cells(i, j) = "HGR" Or Cells(i, j) = "UU" Or Cells(i, j) = "MU" Or Cells(i, j) = "BA" Or Cells(i, j) = "+PS" Or Cells(i, j) = "AC" Then
Rows(i).Delete
End If
Next j
Next i
End Sub
Marsh Posté le 03-04-2007 à 09:42:52
Je pense que ta macro ne va pas TAM136, en effet tu fais une boucle for de 1 à 162 (deja c'est de 2 à 162 en 1 sont souvent les en-tete mais on va dire que c'est ma faute je n'ai pas partagé le fichier... ) mais surtout, lorsque tu supprime une ligne, par exemple les valeurs etant dans la ligne 5 supprimées les valeurs de la ligne 6 reviennent dans la ligne 5 etc. donc la valeur de ton i a chaque suppression doit etre oter de 1 pour repartir de la ligne qui a été supprimée... Suis-je clair...?
Cordialement
[edit]
J'aime pas trop faire les choses en dur, mais soit, essaies ca a ce moment :
Sub Droopy() |
[/edit]
Marsh Posté le 03-04-2007 à 10:14:04
Tout simplement fabuleux.
Mille fois merci.
C'est exactement ce que je voulais.
Encore merci, merci, merci.
@+
Droopy
Marsh Posté le 03-04-2007 à 10:20:03
Merci aussi à TAM136 qui m'a évité de ressaisir If Cells(x, Col) = "HGR" Or Cells(x, Col) = "UU" Or Cells(x, Col) = "MU" Or Cells(x, Col) = "BA" Or Cells(x, Col) = "+PS" Or Cells(x, Col) = "AC"
Marsh Posté le 03-04-2007 à 12:35:19
SuppotDeSaTante a écrit : Je pense que ta macro ne va pas TAM136, en effet tu fais une boucle for de 1 à 162 (deja c'est de 2 à 162 en 1 sont souvent les en-tete mais on va dire que c'est ma faute je n'ai pas partagé le fichier... ) mais surtout, lorsque tu supprime une ligne, par exemple les valeurs etant dans la ligne 5 supprimées les valeurs de la ligne 6 reviennent dans la ligne 5 etc. donc la valeur de ton i a chaque suppression doit etre oter de 1 pour repartir de la ligne qui a été supprimée... Suis-je clair...? |
Bien vu dje!
Marsh Posté le 01-04-2007 à 21:26:35
Bonjour,
Je tente de faire une macro en Excel. Je voudrais :
- à partir dune colonne de valeurs textes, supprimer les lignes qui contiennent certaines valeurs.
- Ex : colonne D, jai les valeurs aa, bb, cc, dd, ee
- Je voudrais supprimer les lignes qui contiennent les valeurs aa et cc.
Jai commencé une macro mais je coince.
Sub Command_Click()
For i = 2 To i = 50
If i = "hgr" Then Rows(i = "hgr" ).Delete
Else
End Sub
Une idée ?.