Macro excel tri et modification de cellule

Fermé
david79230 Messages postés 9 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 18 novembre 2014 - 8 nov. 2013 à 11:16
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 - 8 nov. 2013 à 22:33
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
A voir également:

2 réponses

via55 Messages postés 14402 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 18 avril 2024 2 702
8 nov. 2013 à 11:34
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
0
Le Pingou Messages postés 12035 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 1 avril 2024 1 425
Modifié par Le Pingou le 8/11/2013 à 22:37
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
0