Créer variable dans Userform
Fermé
loicen73
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018
-
Modifié le 6 avril 2018 à 09:36
loicen73 Messages postés 32 Date d'inscription mardi 27 mars 2018 Statut Membre Dernière intervention 16 avril 2018 - 13 avril 2018 à 09:29
loicen73 Messages postés 32 Date d'inscription mardi 27 mars 2018 Statut Membre Dernière intervention 16 avril 2018 - 13 avril 2018 à 09:29
A voir également:
- Créer variable dans Userform
- Créer un compte google - Guide
- Comment créer un groupe whatsapp - Guide
- Créer un compte instagram sur google - Guide
- Créer un compte gmail - Guide
- Créer un lien pour partager des photos - Guide
2 réponses
Patrice33740
Messages postés
8561
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
15 mars 2025
1 779
6 avril 2018 à 10:06
6 avril 2018 à 10:06
Bonjour,
1) Ton code est mal écrit,
- d'une part il faut absolument éviter d'utiliser .Select en VBA,
- d'autre part, comme nous te l'avons déjà dit, même si ce n'est pas obligatoire, il est conseillé de préciser la propriété concernée, ici le .Value,
Il vaudrait mieux écrire :
2) Je ne comprends pas où est le problème : ton code fait exactement ce que tu demandes !
1) Ton code est mal écrit,
- d'une part il faut absolument éviter d'utiliser .Select en VBA,
- d'autre part, comme nous te l'avons déjà dit, même si ce n'est pas obligatoire, il est conseillé de préciser la propriété concernée, ici le .Value,
Il vaudrait mieux écrire :
Private Sub CommandButton_valider_Click() Dim i As Integer i = 27 With Workbooks("Test.xlsm").Sheets("Bouclage") Do While TypeName(Workbooks("Test.xlsm").Sheets("Bouclage").Cells(i, 2).Value) = "String" If ComboBox1.Value = "Sous sol" Then .Cells(i, 3).Value = 1 Else .Cells(i, 3).Value = 2 End If i = i + 1 Loop End With Unload Me End Sub
2) Je ne comprends pas où est le problème : ton code fait exactement ce que tu demandes !
Patrice33740
Messages postés
8561
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
15 mars 2025
1 779
Modifié le 6 avril 2018 à 11:49
Modifié le 6 avril 2018 à 11:49
Re,
Dans ce cas, je ne comprends pas à quoi sert le While avec = , si on doit s'arrêter à la première valeur trouvée, comme dit Pinzou76, ce sera toujours 27 !
Ne faudrait-t'il pas plutôt un Until ?
Dans ce cas, je ne comprends pas à quoi sert le While avec = , si on doit s'arrêter à la première valeur trouvée, comme dit Pinzou76, ce sera toujours 27 !
Ne faudrait-t'il pas plutôt un Until ?
loicen73
Messages postés
32
Date d'inscription
mardi 27 mars 2018
Statut
Membre
Dernière intervention
16 avril 2018
13 avril 2018 à 09:29
13 avril 2018 à 09:29
Bonjour Patrice,
Je voulais écrire une boucle While car je voulais créer un UserForm pour chaque cellule contenant du texte.
Etant donné la complexité du programme et mon niveau en VBA, j'ai préféré créer quelque chose de plus "manuel". J'ai créé une liste déroulante que j'ai copié sur une centaine de lignes et que j'ai ensuite caché.
Merci pour votre aide,
Loïc
Je voulais écrire une boucle While car je voulais créer un UserForm pour chaque cellule contenant du texte.
Etant donné la complexité du programme et mon niveau en VBA, j'ai préféré créer quelque chose de plus "manuel". J'ai créé une liste déroulante que j'ai copié sur une centaine de lignes et que j'ai ensuite caché.
Merci pour votre aide,
Loïc
6 avril 2018 à 10:15
Vu qu'il y a la ligne
Peut-on simplifier
Par
?
Merci et bonne journée
6 avril 2018 à 10:21
6 avril 2018 à 10:18
Le problème est que lorsque l'on sélectionne une donnée ("sous sol", "gaine technique") dans la liste déroulante, la valeur liée (1 ou 2) s'affiche dans toutes les cellules. Je voudrais uniquement qu'elle s'affiche dans cells (i,3), et non dans cells(i+1,3) cells(i+2,3) cells(i+3,3) etc...
6 avril 2018 à 10:24
SI c'est le cas, et que tu veux seulement toucher à la cellule(27,3), alors le while est inutile et le i aussi, tu peux le remplacer directement par 27.
6 avril 2018 à 10:34