Macro excel tri et modification de cellule

Fermé
Signaler
Messages postés
9
Date d'inscription
dimanche 22 novembre 2009
Statut
Membre
Dernière intervention
18 novembre 2014
-
Messages postés
10616
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
28 novembre 2021
-
Bonjour à tous,

j'ai besoin de coup de main pour une macro . Alors j'explique j'ai un tableau excel rempli de données avec des filtres.

Donc je veux que la macro filtre une colonne suivant une lettre puis qu'elle note quelque chose (toujours la même chose) dans la colonne W jusqu'à ce que les données soit finies.

Donc le tri c'est bon , et ma macro note bien ce que je veux dans la colonne W mais ca le note sur les lignes triées mais aussi sur les autres (arghhhh).

Voici le code de la macro

ActiveSheet.Range("$A$1:$V$1534").AutoFilter Field:=3, Criteria1:="=n*", _
Operator:=xlOr, Criteria2:="=rn*"
Range("C2").Select
Do While Not (IsEmpty(ActiveCell))
ActiveCell.Offset(0, 20).Select
ActiveCell = "SAV"
ActiveCell.Offset(1, -20).Select
Loop

Donc je fais un offset de 20 car je pars de la colonne "C"

Merci de votre aide

2 réponses

Messages postés
13203
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
1 décembre 2021
2 289
Bonjour

A mon sens il serait plus logique avec une boucle et une condition de tester toutes les lignes pour ajouter W à celles qui ont la lettre recherchée en colonne x et après de faire filtrer avec le critère W

Cdlmnt
Messages postés
10616
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
28 novembre 2021
1 239
Bonjour,
Essayer de remplacer votre code par celui-ci :
Dim Var As Variant, Cel As Range

ActiveSheet.Range("$A$1:$V$1534").AutoFilter Field:=3, Criteria1:="=n*",Operator:=xlOr, Criteria2:="=rn*"
For Each Cel In Range([C2], Cells(Rows.Count, "C")).SpecialCells(xlCellTypeVisible)
If Cel = "" Then Exit Sub
Var = Var & " " & Cel
Cel.Offset(0, 20) = "SAV"
Next Cel


Salutations.
Le Pingou