Je suis un néophyte dans VBA et en ce moment je me pratique à créer certains programme pour tester ce que j'ai appris.
Dans le livre de cours il me demande de créer une boite de dialogue qui doit changer le texte en Majuscules, minuscules ou seulement une majuscule au début de chaque mot après avoir choisi une plage de mots et si je ne le fais pas avant de cliquer sur le bouton OK un message qui est dans module1 doit me demander de choisir une plage.
Mais voilà ça ne fonctionne pas et je n'ai pas d'erreur qui s'affiche. Lorsque je clique sur OK rien ne ce produit après avoir choisi une plage ou non.
J'ai vérifié si j'avais mal écrit le code qu'il me demandait mai je ne vois rien. J'ai fait le même processus avec Microsoft 365 et Excel 2010.
Bonjour Payne,
TypeName(Selection) = "Range" ne peut pas marcher puisque qu'une cellule est déjà un range donc c'est non discriminant.
J'ai opté pour : Application.CountIf(Selection, "*") qui regarde si on a sélectionner une plage qui contient des "choses".
Dim WorkRange As Range suppose qu'ensuite vous initialisé WorkRange, il faut lui dire que ça correspond à Selection.
Ou tout simplement s'en passer et faire référence à Sélection.
En PJ un truc qui marche.
Je suis un néophyte dans VBA et en ce moment je me pratique à créer certains programme pour tester ce que j'ai appris.
Dans le livre de cours il me demande de créer une boite de dialogue qui doit changer le texte en Majuscules, minuscules ou seulement une majuscule au début de chaque mot après avoir choisi une plage de mots et si je ne le fais pas avant de cliquer sur le bouton OK un message qui est dans module1 doit me demander de choisir une plage.
Mais voilà ça ne fonctionne pas et je n'ai pas d'erreur qui s'affiche. Lorsque je clique sur OK rien ne ce produit après avoir choisi une plage ou non.
J'ai vérifié si j'avais mal écrit le code qu'il me demandait mai je ne vois rien. J'ai fait le même processus avec Microsoft 365 et Excel 2010.
Bonjour Payne,
TypeName(Selection) = "Range" ne peut pas marcher puisque qu'une cellule est déjà un range donc c'est non discriminant.
J'ai opté pour : Application.CountIf(Selection, "*") qui regarde si on a sélectionner une plage qui contient des "choses".
Dim WorkRange As Range suppose qu'ensuite vous initialisé WorkRange, il faut lui dire que ça correspond à Selection.
Ou tout simplement s'en passer et faire référence à Sélection.
En PJ un truc qui marche.
=>Jacky67
Va prendre ta douche.
Et je suis, juste après, pour prendre la mienne.
Apparemment on sent le bouc, vu que Payne nous a pas fait un petit coucou
(ni réagi à nos propositions)
=>Jacky67
Va prendre ta douche.
Et je suis, juste après, pour prendre la mienne.
Apparemment on sent le bouc, vu que Payne nous a pas fait un petit coucou
(ni réagi à nos propositions)
Merci pour votre suggestion, Staple 1600, j'apprécie votre aide et soyez indulgent je suis nouveau dans ce forum, je ne connais pas encore toute les règles de politesse.
=>Payne
En guise de pénitence, pour la blagounette
Une version plus classique (avec 3 OptionButton)
VB:
Private Sub OptionButton1_Click()
TextBox1 = UCase(TextBox1) '-> MAJUSCULE
End Sub
Private Sub OptionButton2_Click()
TextBox1 = LCase(TextBox1) '->minuscule
End Sub
Private Sub OptionButton3_Click()
TextBox1 = Application.Proper(TextBox1) '-> Nom propre
End Sub