Affectation valeur sur lignes triees

Bonjour à tous,

je voudrais construire une macro qui me permettrait de copier une valeur dans des lignes selectionnées selon un critère de tri filtre numérique.

Par exemple, trier toutes les commandes dont le numéro commence par 10 et leur affecter dans la colonne client une donnée spécifique.

Exemple joint,

Merci à tous,

Frédéric.

Bonsoir,

en E2

=SI(GAUCHE(C2;2)="10";"BAZAR";D2)

à tirer vers le bas

ensuite copier et Collage/Spécial/Valeur.

Amicalement

Claude

Bonsoir Dubois,

oui la formule fonctionne bien par contre cela m'oblige a créer une nouvelle colonne, c'est pourquoi je pensais utiliser une macro qui testerait la colonne commande et qui affecterait le cas échéant une nouvelle valeur directement en colonne D

re,

çà peut se faire, mais est-ce vraiment répétitif ?

Claude

oui, car 12 type de commande possible, dont 1 seule qui ne verra pas son code client changer. J'aurai du mal a faire figurer 12 niveau de SI dans la meme fonction

re,

Sub ChangeNom()
Dim Cel As Range
''Macros par Claude Dubois pour "phocéens" E-P le 8/03/10
    For Each Cel In Range("c2:c" & [c65000].End(xlUp).Row)
        If Left(Cel, 2) = "10" Then Cel.Offset(0, 1) = "BAZAR"
    Next Cel
End Sub

Claude

Magnifique, j'ai rajouté mes 10 formules IF et ca fonctionne parfaitement !

Une question, pour notre culture a nous néophites, a quoi sert la syntaxe.... End(xlUp).Row) dans ta formule ?

encore merci !

re,

Range("c2:c" & [c65000].End(xlUp).Row)

C'est pour avoir la première cellule occupée (ou non vide) de la colonne "C" en partant du bas (65000)

ce qui te permet d'ajouter des lignes sans toucher la macro

Claude

Ok merci Claude pour l'explication.

Rechercher des sujets similaires à "affectation valeur lignes triees"