Changer la valeur d'une liste déroulante par une macro

Bonjour,

Je suis vraiment débutante en VBA, et je ne sais comment coder mon problème.

J'ai une liste déroulante (via l'option "validation des données") où les choix sont oui et non. Cette liste déroulante est dans une seule colonne et le nombre de ligne concernées peut augmenter. Lorsque que je souhaite réinitialiser mon fichier, je voudrais que toutes les listes déroulantes reviennent avec la valeur "non" de choisie. Je voudrais que cela soit fait par une macro dont je rajouterai les lignes à ma macro qui efface certaines données.

2 contraintes qui peuvent impacter le code :

- j'ai une mise en forme conditionnelle (si oui est choisi alors texte en gras et vert)

- Il n'y a pas de liste sur toutes les lignes => il faudrait que ces lignes sans liste soient toujours sans liste après le déroulement de la macro.

Je vous met un exemple en PJ

Merci par avance de votre réponse

41exemple.xlsm (10.31 Ko)

Bonjour

Le fichier en retour. Cliquez sur le bouton pour mettre à jour la colonne G

254copie-de-exemple.xlsm (16.21 Ko)

Cordialement

Merci pour ta réponse rapide Dan!

J'ai juste un petit soucis, il ne prend pas en compte les cases vides.

Est ce qu'il y a une autre solution sachant que dans ces cases vides les listes ne sont pas autorisées ?

Merci par avance

Re

Est ce qu'il y a une autre solution sachant que dans ces cases vides les listes ne sont pas autorisées ?

Remplacez le code par celui ci

Sub test()
Dim plage As Range
With ActiveSheet
    dlg = .Range("G" & .Rows.Count).End(xlUp).Row
    For i = 3 To dlg
        If .Range("G" & i) <> "" Then .Range("G" & i) = "non"
    Next i
End With
End Sub

Le code va regarder les cellules qui ne sont pas vides et mettra "non" dans ces cellules

C'est exactement ce que je voulais! c'est génial !!!

Merci beaucoup Dan!

Bonne soirée

Rechercher des sujets similaires à "changer valeur liste deroulante macro"