Svp ..........help ....;-)

fileofish

XLDnaute Occasionnel
Bonsoir à tous,

Voilà j'ai un nouveau probleme incomprehensible :confused:

Dans le fichier joint, 4 choix alimente une liste déroulante
Jusque ici tt va bien
Lorsqu'on clique sur valider le choix se met dans la bonne case
Jusque ici tt va bien


Je lui demande après d'effacer les 3 choix autours avec une fonction if


ex: Imaginez 4 colonnes BR BS BT BU

Je lui demande que si le choix va en BR alors il m'efface BS, BT & BU
Je lui demande que si le choix va en BS alors il m'efface BR, BT & BU
Je lui demande que si le choix va en BT alors il m'efface BR, BS & BU
Je lui demande que si le choix va en BU alors il m'efface BR, BS & BT

é bé là ca va plus ca coince il m'efface tt ....!!! :(

pourquoi?

svp help

Merci encore :D
Fil
 

Pièces jointes

  • Propr_V00.zip
    12.3 KB · Affichages: 36

justine

XLDnaute Occasionnel
Re : Svp ..........help ....;-)

bonsoir le forum, fileofish
corrige ta macro
If OptionButton1 = True Then Range("BR2").Value = ComboBox1.Value
If OptionButton2 = True Then Range("BS2").Value = ComboBox1.Value
If OptionButton3 = True Then Range("BT2").Value = ComboBox1.Value
If OptionButton4 = True Then Range("BU2").Value = ComboBox1.Value


reedit: mince, le pb a ete resolu avant. bonsoir bhbh
 

fileofish

XLDnaute Occasionnel
Re : Svp ..........help ....;-)

Merci pour l'explication JP !!!

Ca va mieux, mais ca n'empeche que meme en changeant sheets 2 par feuil2
il faut que j'appuie 2 fois sur valider pour que ca puisse marcher (avant meme en cliquant 40 fois ca marchait pas alors c deja pas si mal mais bon avec un seul click ce serait cool -)
Aurais tu un fichier à me renvoyer please!!!

Merci pour ton aide
Fil
 

fileofish

XLDnaute Occasionnel
Re : Svp ..........help ....;-)

Kjinn qu'est ce que je ferai sans toi!!!!!
Ouahh
si tu as commencé VBA il ya seulement 1 an laisse moi te féliciter ... tu es très clair et concis dans tes réponses c une qualité
Dans le code que tu me donnes pourquoi 69? que signifie t-il (2eme ligne 69 eme colonne !!! le pb c qu'a l 69 eme colonne je n'ai rien ....
A bientot et bon dimanche

if Controls("OptionButton" & i) = True Then Sheets("Source").Cells(2, 69 + i).Value = ComboBox1.Value
 

fileofish

XLDnaute Occasionnel
Re : Svp ..........help ....;-)

C'est bon je viens de comprendre en meme tps il est 6H du mat alors la fatigue se fait sentir... bon dimanche a tous et un grand merci.... à tt le monde
par contre meme si je comprends la reponse je ne comprends tjs pas pour quelles raisons mon code était incorrect ou incomplet?.... pouqruoi fallait il appuyer 2 fois pour avoir la reponse.....?
je serai curieux de savoir pq
@+
Fil
 

kjin

XLDnaute Barbatruc
Re : Svp ..........help ....;-)

Bonjour,
C'était pas bien compliqué et d'ailleurs tu as trouvé tout seul.
Mais je te conseille de regarder et d'essayer le code que bhbh ta gentiment proposé et auquel tu n'as pas répondu, peut être ne l'auras tu pas vu.
Bien plus chevronné que moi, il a tout de suite vu que tu pouvais imbriquer les 2 conditions "IF" pour n'en faire qu'une seule "IIF", soit :
Cells(2, 69 + i) = IIf(Controls("OptionButton" & i), Me.ComboBox1.Value, "")
la cellule prend la valeur de la combo si elle est concernée ou rien.
Pour la question, c'est à cause de ces 2 commandes :
If OptionButton1 = True Then Range("BS2,BT2,BU2").Select
Selection.ClearContents
transformées en une seule

If OptionButton1 = True Then Range("BS2,BT2,BU2").ClearContents

Juste une dernière remarque, il est toujours préférable de déclarer les variables, c'est plus facile de trouver ensuite où ça coince:
Insères une ligne tout en haut de la feuille avant le premier code et tu y mets
Option Explicit
et remplaces ton code par celui de bhbh
Private Sub CommandButton1_Click()
Dim i as byte 'ici c'est possible, byte étant un nombre compris entre 0 et 255
For i = 1 To 4
Cells(2, 69 + i) = IIf(Controls("OptionButton" & i), Me.ComboBox1.Value, "")
Next i
End Sub

A+
kjin
 

fileofish

XLDnaute Occasionnel
Re : Svp ..........help ....;-)

Hola!!

Une petite précision et pour savoir si je fais pas trop fausse route:
Dans le code:
For i = 1 To 4
Cells(2, 69 + i) = IIf(Controls("OptionButton" & i), Me.ComboBox1.Value, "")

En francais littéral que signifie exactement la 2eme partie du code et que veut dire Controls & Me.ComboBox :(

Merci encore
Fil
8 jours de VBA seulement :rolleyes:
 

Cousinhub

XLDnaute Barbatruc
Re : Svp ..........help ....;-)

Re-,

explications :

la fonction Iif correspond à la formule SI(.... d'une feuille de calcul :

Code:
Iif(test, valeur_si_test_vrai, valeur_si_test_faux)

Donc si le contrôle OptionButton1 (un OptionButton est un contrôle d'un userform ou d'une feuille de calcul) est coché, on prend la valeur du combobox de l'userform (Me. signifie le combobox de l'usf appelant),
s'il n'est pas coché, on remplit la cellule par du vide ("") (on l'efface)

Edit : bien vu pour le changement de titre, mais je crois qu'il faut le faire sur le premier post
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Problème code
Réponses
2
Affichages
359
Réponses
2
Affichages
551

Statistiques des forums

Discussions
311 997
Messages
2 084 452
Membres
102 580
dernier inscrit
DESIRE PATRICK