Incompatibilité commandes

Slt à tous,

Nouvelle problématique pour moi qui est la suivante :

J'utilise régulièrement un code qui marche et qui me permet d'appliquer une commande sur tous les onglets d'un classeur ouvert :

Sub ()

Dim I As Integer

While I <= ActiveWorkbook.Sheets.Count

Sheets(I).Activate

Cells(1, 1).Select

I = I + 1

Wend

End Sub

J'ai maintenant besoin de supprimer toutes les lignes dont la cellule de la colonne A contient le mot "Resultats" et la commande suivante fonctionne sur une feuille :

Range("A1").Select

For r = 1 To Range("A1").End(xlDown).Row

If ActiveCell = "Resultats" Then Rows(r).Delete

Next r

Devant appliquer cette commande sur toutes les feuilles j'ai encadré cette dernière commande par mon premier code :

Sub SuppLigne()

Dim I As Integer

While I <= ActiveWorkbook.Sheets.Count

Sheets(I).Activate

Range("A1").Select

For I = 1 To Range("A1").End(xlDown).Row

If ActiveCell = "Resultats" Then Rows(r).Delete

Next I

Cells(1, 1).Select

I = I + 1

Wend

End Sub

Et là, ça le fait pas. Il me surligne en jaune "Sheet(I)Activate"

Qui pourrait me corriger et m'expliquer pourquoi ça le fait pas ?

Par ailleurs, à mon niveau, ne maîtrisant pas encore les conditions j'escompte utiliser 3 macros, une pour supprimer les lignes de la colonne A dont le contenu de la cellule contient le mot "Resultats", une autre pour supprimer les lignes de la colonne A dont le contenu contient le mot "Réunion" et une 3me... pour le mot "<Réunion"

Une seule macro pour les 3 manip serait bien aussi, lol

Merci par avance pour votre aide.

Bonjour,

1) tel quel ton premier code ne fonctionne pas non plus, comme i a la valeur 0 à la première exécution de sheets(i).activate

2) proposition de modification

Sub test()
Dim I As Integer
I = 1
While I <= ActiveWorkbook.Sheets.Count
Sheets(I).Activate

For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Select Case Cells(r, 1).Value
Case "Resultats", "Réunion", "<Réunion"
 Rows(r).Delete shift:=xlUp
End Select
Next r

I = I + 1
Wend

End Sub

Slt H2so4,

Merci pour ta réponse mais ta macro ne marche que pour le premier mot à la ligne Case.

En revanche, si je supprime les 2 autres mots pour envoyer la commande mot par mot cela marche...

@+

Bonjour,

je t'ai fourni une version que j'ai testée avec succès sur le fichier de test que je me suis construit sur base de ta demande.

mets-nous un fichier exemple de ce que tu veux.

Merci à toi H2so4.

Il y avait en fait un facteur perturbant empêchant l'application correcte de la macro. Tout Baigne donc et t'en remercie une nouvelle fois.

Je lis par ailleurs que tu es un "utilisateur expérimenté" mais ne connais pas ton niveau. Vois donc si tu peux jeter un oeil sur mon dernier post de ce jour concernant le calcul d'Ecarts. Je t'en remercie par avance.

Cordialement.

Rechercher des sujets similaires à "incompatibilite commandes"