Conditionner Userform VBA Excel

Fermé
Val2202 - 10 oct. 2021 à 06:18
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 - 10 oct. 2021 à 16:22
Bonjour,

Je rencontre une petite difficulté sur VBA,

j'aimerai conditionner la valeur de plusieurs Label et Combox d'un Userform en fonction de la valeur d'une cellule.

Plus clairement j'utilise un même userform pour saisir plusieurs types de données;
Selon la valeur d'une cellule définie, en cliquant sur un bouton d'un premier userform, le userform en question se lance et les propriétés Caption des label et RowSource des combox sont mises à jour ;

Or j'ai tenté plusieurs choses et aucune ne fonctionne :

- Userform_Initialize ()

If Range("C_INP2").Value = "1" Then

L_CP.Caption = "Modification ou ajout d'une donnée Inspection NP"
L_C1.Caption = "Raison de l'inspection NP"
L_C3.Caption = "Nombre"
L_C2.Visible = False
CB_C2.Visible = False
CB_C1.RowSource = "DATA1!C5:C13"

End If


- Userform_Acivate ()

Idem

- Utilisation du même code mais à l'ouverture du userform, dans le private sub du bouton de lancement de ce dernier avec la fonction .Repaint pour updater l'affichage.. mais toujours rien;

J'espère avoir été clair, si oui quelqu'un aurait-il une solution ?

En vous remerciant


Configuration: Windows / Edge 94.0.992.38
A voir également:

4 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
10 oct. 2021 à 07:07
Bonjour,

If Range("C_INP2").Value = "1" Then


Ce 1 est un chiffre ou un "texte"?
Si chiffre: =1 pas ="1"
0
Bonjour

c’est un chiffre.
0
Val2202 > Val2202
10 oct. 2021 à 07:45
Mais avec ou sans les « » ça ne change pas le résultat malheureusement :)
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 212
10 oct. 2021 à 11:34
Bonjour,

il faudrait un extrait anonymisé de ton fichier pour y voir clair.
cjoint.com et coller ici le lien fourni
eric
0
Malheureusement il s’agit d’un fichier excel pour le boulot et je suis en vacances pour une semaine ; impossible de le joindre ici avant donc….

c’est certain que ce serait plus pratique;

Pour essayer de résumer la manipulation que je cherche à coder :

J’ai un premier Userform1, contenant plusieurs CommandButtons

Tout ces CommandButtons ouvrent un même Userform2, dont les propriétés de ses Listbox et Label changent selon si il a été ouvert depuis tel ou tel Commandbutton du Userform1;

Peut-être est-ce plus clair ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié le 10 oct. 2021 à 16:22
Re,

Mettez un point d'arret sur la ligne du if et lancez votre UF.
Des que l'execution s'arrete, passez le curseur souris sur Range("C_INP2").Value pour voir ca valeur.
Si pas possible de voir la valeur mettez cette ligne avant le IF

Debug.Print  Range("C_INP2").Value


des l'arret sur le if, ouvrez la fenetre d'execution pour voir le resultat
0