Boite de dialogue personnalisee

  • Initiateur de la discussion Initiateur de la discussion perenthian
  • 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 !

perenthian

XLDnaute Nouveau
Bonjour,

je voudrais créer une boite de dialogue avec 3 boutons "all" "manual" et "cancel", et lorsqu'on clique sur l'un d'eux, ils vont chercher des infos différentes (efface les données de la colonne et arrêt de la macro pour cancel).

Voici mon code :
Code:
If MsgBox("Chose a type", vbYesNoCancel, "Information for RAO") = vbYes Then
    number = InputBox("how many headings do you want to draw", "number of RAO", "number of RAO")
        Worksheets("General1").Activate
        Range("D10") = "Headings (°) to draw"
        For i = 1 To number
            Value = InputBox("enter a value of the heading to draw (in ascending order)", "Headings", "heading")
            Range("D" & i + 10) = Value
'        head(i - 1) = Range("D" & i + 10)
    Next i
ElseIf MsgBox("Chose a type", vbYesNoCancel, "Information for RAO") = vbNo Then
    '
ElseIf MsgBox("Chose a type", vbYesNoCancel, "Information for RAO") = vbCancel Then
    Range("D:D").ClearContents
    End
End If

Cependant cela ne marche pas :
si je clique sur cancel, le boite de dialogue apparaît 3 fois comme le nombre de boutons.
Et impossible de sortir du format yes no cancel.

Je suis preneur d'un petit coup de main ;-)
Merci
 
Re : Boite de dialogue personnalisee

Bonjour,

bah normal, tu relances la "msgbox" si la condition n'est pas vérifiée, perso je coderais plutôt ainsi, à adapter à ton projet :
Code:
Dim r As Integer
r = MsgBox("Chose a type", vbYesNoCancel, "Information for RAO")
If r = vbYes Then
    MsgBox "ok"
    ElseIf r = vbNo Then MsgBox "Nok"
    ElseIf r = vbCancel Then MsgBox "cancel"
End If

bonne journée
@+
 
Re : Boite de dialogue personnalisee

Merci je vais chercher dans cette direction.

Autre question : j'ai plusieurs boite de dialogue qui apparaissent successivement. J'ai un bouton cancel qui doit permettre de sortir a n,importe quel moment du code : comment est il judicieux de coder cela ? Créer un macro dédiée a cela ?
 
Re : Boite de dialogue personnalisee

Bonjour
En complément de la réponse de Pierrot 16K
quelques jolis exemples de ce qu'on peut faire avec du code HTML ou autre pour avoir de belles boites de dialogue
Ce lien n'existe plus
Ce lien n'existe plus
 
Re : Boite de dialogue personnalisee

Mais est ce qu'il n'y a pas moyen de faire plus général ?

En fait, je rentre des dizaines d'infos avec plusieurs boites de dialogues grâce a des boucle if ou while, et je me demandais s'il n'y avait pas moyen de créer quelque chose d’extérieur plutôt que de rajouter une ligne comme tu proposes dans les boucles (bonjour les modifs 🙂 )
 
Re : Boite de dialogue personnalisee

Re,

j'ai réussi a me débrouiller finalement.
J'ai juste un pb la dessus :
si je fais If repertoire <> "" Then ou repertoire est connu comme un String ça marche
si je fais If number <> "" Then ou number est connu comme un Integer ça ne marche pas.

Pourquoi ?
 
Re : Boite de dialogue personnalisee

Bonjour
Avant de faire des dizaines de boites mieux vaut les tester complètement...
Ben non la solution proposée par Pierrot est certainement la plus simpe et la plus logique. Si tu fais un "truc extérieur" de toutes façons il faudra bien que tu l'appelles depuis ton code actuel = rajouter des lignes donc autant rajouter d'emblée les bonnes et les plus simples.

Mais si tu as des tas de boites de ce genre, un formulaire est quand même à priori bien plus simple à gérer ...
 
Re : Boite de dialogue personnalisee

Je m'en sors finalement avec la solution de Pierrot93.

Pour le formulaire, je dirai trop tard vu la quantité codée :/ D'autant plus que je "corrige" un fichier déjà codé.

Me reste a résoudre le problème ci-dessus et j'aurai ce que je souhaite.
 
- 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

Discussions similaires

Réponses
3
Affichages
582
Réponses
3
Affichages
665
Réponses
2
Affichages
511
Réponses
2
Affichages
809
Retour