• Initiateur de la discussion Initiateur de la discussion delirium
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

delirium

Guest
Bonsoir tous le monde.

J'ai réaliser une fonction qui ouvre un UserForm nomé "UserForm1" sur lequel l'utilisateur à le choix entre plusieur boutons.
Lorsque l'utilisateur cklick sur un de ced bouton, la valeur correspondant à ce bouton doit s'afficher dans la cellule "A2" de la feuille 6, de manière instantané et fermé l'UserForm1 pour lancer automatiquement un autre UserForm nomé "DépCotier".

J'ai réaliser en partie le code que voici :

Private Sub Label1_Click()
UserForm1.Close
Range("A2").Select
Feuil6.Range("A2") = "75"
DépCotier.Show
End Sub

Mais apparament il y à des erreurs. Si quelqu'un peut m'aider, Merci d'avance.
 
Salut Delirium,

A première vue, Range("A2").Select est à supprimer car dans le UserForm, VBA ne peut savoir à quelle feuille correspond "A2". D'autre part, il n'est pas nécessaire de sélectionner cette cellule pour y mettre une donnée, l'instruction Feuil6.Range("A2") = "75" est suffisante.
Néanmoins, si tu y tiens, tu peux écrire Feuil6.Range("A2").Select

A+
Horatio
 
Bonjour

Moi je verrais ça comme ça:

Sub WorkBook_Open
Load UserForm1
Load DépCotier
UserForm1.Show
End Sub

Private Sub Label1_Click()
UserForm1.Hide 'ou UnLoad UserForm1
Range("A2").Select
Feuil6.Range("A2") = "75"
DépCotier.Show
End Sub
 
Salut
essaie ceci
un bouton sur ta feuille
lier à une macro
sub macro1()
userform1.show
end sub

user form1 bouton 1

Private Sub CommandButton1_Click()
Range("a1").Value = TextBox1.Value
UserForm1.Hide
UserForm2.Show
End Sub

Cordialement
G.David
 
Bonsoir tous le monde.

J'ai testé vos solutions et pour ce qui est de celle de G.David je n'ais pas réussi à la mettre en place et j'ai abandonné (désolé).
Pour la solution que m'a donner titus, a savoir :

Sub WorkBook_Open
Load UserForm1
Load DépCotier
UserForm1.Show
End Sub

Private Sub Label1_Click()
UserForm1.Hide 'ou UnLoad UserForm1
Range("A2").Select
Feuil6.Range("A2") = "75"
DépCotier.Show
End Sub

J'ais aussi tester mon code avec la modif "Unload UserForm1"
que ma donner titus. ce qui donne le code suivant :

Private Sub Label1_Click()
Unload UserForm1
Feuil6.Range("A2") = "75"
DépCotier.Show
End Sub

Et les deux fonctionne. Mais je voudrais tout de même savoir à quoi sert :

Sub WorkBook_Open
Load UserForm1
Load DépCotier
UserForm1.Show
End Sub

Je ne vois pas (je suis débutant en VBA).

Merci de votre coups de main.

A plus tard.
 
merci pour ton fichier G.David, je vais pouvoir le décortiquer.
A revenir sur ton explication sur le code de titus, la partie :

Sub WorkBook_Open
Load UserForm1
Load DépCotier
UserForm1.Show
End Sub

n'est réellement utile que lorsque l'on est sure que l'utlisateur s'en servira.
Dans le cas d'un userform dont l'ouverture dépend du choix de l'utilisateur (et donc peut ne pas être utilisé), cette partie du code n'est pas nécessaire.
merci a+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour