Affecter une valeur en colonne C selon valleur colonne D (VBA)

nhanvin Messages postés 6 Date d'inscription lundi 26 novembre 2007 Statut Membre Dernière intervention 27 juillet 2011 - 27 juil. 2011 à 11:42
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 27 juil. 2011 à 14:49
Bonjour à tous,

Voici mon but: Si dans la colonne D la valeur de la cellule est ne commence pas par 606 ou 611 alors la valeur dans la colonne C est "SGA".

Ci-dessous la macro que j'ai faîte mais qui ne fonctionne pas d'où l'existence de cette question:

Sub SGA()


Range("D1:D1000").Select
For i = 1 To 1000
Next
If Range.Value <> "606*" And If Range.Value <> "611*" Then
Range("D1:D1000").Offset(0, 1).Value = "SGA"

End If
End Sub


Merci d'avance
Vinh

2 réponses

NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
27 juil. 2011 à 13:06
Bonjour,

Pourquoi "And If", juste "And" suffit
Ensuite, pour comparer avec des jokers, c'est l'opérateur Like.

Rappel, pour la coloration syntaxique, c'est la 3ième icone en partant de la droite dans la zone de mise en forme.

Mon site
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
27 juil. 2011 à 14:49
Bonjour,
et en plus de ce que montre du doit NHenry .
Range("D1:D1000").Select
For i = 1 To 1000
Next
If Range.Value <> "606*" And Range.Value <> "611*" Then
Range("D1:D1000").Offset(0, 1).Value = "SGA"

End If
End Sub


C'est quoi, cette syntaxe qui défie littéralement toutes les lois de la pesanteur, hein ?
Un inventaire succinct :
- un select lourd, inutile (et inutilisé)
- une boucle qui ne fait rien
- un Range.value qui ne se réfère à rien

Je crois que tu aurais tout intérêt à reprendre tout à la base (car j'ai l'impression de ce que tu y vas "au petit bonheur la chance" et que tu ne saurais aller loin ainsi !


____________________
Utiliser le bouton "REPONSE ACCEPTEE" sur une réponse exacte facilite les recherches ultérieures d'autres forumeurs. PENSEZ-Y SVP
0
Rejoignez-nous