Formulaire en VBA dans feuille Excel - VB/VBA/VBS - Programmation
Marsh Posté le 26-03-2012 à 11:01:19
Bonjour,
Tu devrais utiliser l'enregistreur de macro afin de comprendre le comportement et la syntaxe du VBA, en exécutant des actions basiques.
Par exemple tu lances l'enregistreur puis tu réalise les actions pour ton projet (Notamment la suppression de certaines données de ta colonne)
Cela se passe en 2 temps:
1 - Sélection des données.
2 - Suppression des données.
Ensuite tu stop l'enregistreur puis tu vas dans VBE et le code enregistré se situe dans un module.
Dans ton cas précis, il suffit de glisser ce code dans le control du bouton oui.
@bientôt
Cartman dit: Je vous e..... et je rentre à ma maison!
Marsh Posté le 26-03-2012 à 11:05:48
Bonjour,
Pour affecter une macro à un bouton, tu fais un clic droit sur celui-ci.
Ca va te créer une macro comme celle ci :
Code :
|
Pour récupérer une valeur de zone de texte par exemple, il faut faire comme ci-dessous :
Code :
|
Marsh Posté le 26-03-2012 à 11:54:09
merci bien pour ces info,
J'arrive a faire ce que je veux desormais pour l'action conditionnée. En revanche pour la zone de saisie il me met une erreur comme quoi il attend un End Sub mais je pige pas pourquoi ...
Code :
|
Marsh Posté le 26-03-2012 à 12:00:21
Enlève ce que j'ai rayé
cartman1706 a écrit : merci bien pour ces info,
|
Marsh Posté le 26-03-2012 à 12:05:13
effectivement c'est mieux mais ça n'ecrit toujours pas la valeur de CodeOpenBat dans les ligne P2, P3 .... tant que O2, O3... et non null
Marsh Posté le 26-03-2012 à 12:34:30
C'est un textbox CodeOpenBat ?
Sinon, tu as un if/ then sans rien derrière.
Fais le comme ça:
Code :
|
Marsh Posté le 26-03-2012 à 13:36:40
oui c'est un textbox :
Plus haut dans le formulaire y'a :
Code :
|
je pige pas trop pourquoi ca ne marche pas ...
Marsh Posté le 26-03-2012 à 13:51:43
c'est pareil.
je te donne tout mon code (attention j'ai chagé des nom de champs et de variables ...
Code :
|
Marsh Posté le 26-03-2012 à 14:07:14
Je ne peux pas tester, il faudrait que j'ai les mêmes noms de feuilles et le même UserForm.
Mais, à première vue je dirais que le code marche bien et que c'est ton CodeOpenBat qui est vide.
Tes variables ne sont pas déclarées et par défaut elles se déclarent à l'intérieur d'une Sub.
Or, dans ton cas, il faut la déclarer en tout début de module pour qu'elle soit valable dans toutes tes Sub.
Donc, tout en haut, avant ta première sub, déclare ta variable :
Code :
|
Essaye déjà ça et reviens si ça ne marche toujours pas
Marsh Posté le 26-03-2012 à 14:12:25
trop fort ça marche !
Merci a toi !
je reviendrai sur ce sujet si jamais j'arrive pas a faire ce que je veux mais pour l'instant c'est tout bon !
merci encore !
Marsh Posté le 26-03-2012 à 10:38:09
Bonjour,
J'utilise plusieurs fichiers Excel qui ont un format bien determiné.
J'ai créé une macro qui exectute plusieurs actions sur le fichier Excel, et qui fait apparaitre une fenetre popup contenant un tout petit formulaire :
- Une action conditionnée : OUI ou NON
- Une zone de saisie
Mon probleme est que je ne sais pas exploiter ces infos une fois renseignées.
En clair j'aimerai que lorsque qu'on selectionne OUI cela supprime des données dans une collone de la feuille et que ce que l'on mette dans la zone de saisie soit collée dans toutes les lignes (contenant des infos) d'une colone ...
J'ai créé un UserForm, mis des boutons et tout mais ne sais ni quel code y mettre pour leur affecter des actions, ni comment recuperer ces dites actions dans la macro originale ...
Ps : vous aurez deviné que je suis un Noob en VBA
---------------
CarTaM SpiRit Is gOOd fOr Yoouuu ... !