Succession de msg box

Bonjour,

Je souhaite créer une macro qui ouvre une succession de msg box (8 en tout) dans lesquelles on choisit des options ou renvoie des valeurs. J'ai essayé quelques truc mais mon niveau lamentable de VBA ne m'a pas permis de faire grand chose.....

Le but est d'insérer de nouveaux articles dans un tableau ac différentes caractéristiques.

J'ai joints un fichier dans lequel j'explique plus en détail ce que je souhaite.

Merci à vous.

https://www.excel-pratique.com/~files/doc2/Succession_msg_box.xls

Bonsoir à tous,

Une solution, il y a surement mieux:

Sub Messages()
''Macros par Claude Dubois pour "elconqueror" Excel-Pratique le 9 Nov 09
Dim i As Byte, Rep, M
    Range("b13:c13,b14:c14,b15:c17").ClearContents

    For i = 13 To 17 'colonne B
        M = Range("y" & i - 9)
        Rep = InputBox(M)
        Cells(i, 2) = UCase(Rep)
    Next i

    For i = 15 To 17 'colonne C
        M = Range("y" & i - 6)
        Rep = InputBox(M)
        Cells(i, 3) = UCase(Rep)
    Next i
End Sub

Fichier démo:

https://www.excel-pratique.com/~files/doc2/MsgBox.xls

Amicalement

Claude.

Bonjour,

Merci Claude pour tes indications et ton fichier.

Est-il possible de faire en sorte que lors de la deuxième saisie les cases à remplir soient celles d'à côté (D13:E17) et ainsi de suite?

Pour certaines box je souhaiterai utiliser des listes déroulantes ( En B15 par exemple ), je suis en train d'essayer de bidouiller quelque chose....

Pour ceux que ça intéresse, je trouve que c'est bien fait : https://www.excel-pratique.com/fr/vba/boites_de_dialogue

Merci

Bonjour,

Est-il possible de faire en sorte que lors de la deuxième saisie les cases à remplir soient

celles d'à côté (D13:E17) et ainsi de suite?

Oui en ajoutant une variable, ici "CL" qui récupère la dernière colonne non vide du tableau.

Sub Messages()
''Macros par Claude Dubois pour "elconqueror" Excel-Pratique le 10 Nov 09
Dim i As Byte, CL As Byte, Rep, M
    CL = Range("t13").End(xlToLeft).Offset(0, 1).Column
        If CL > 16 Then
            MsgBox ("Le tableau est complet !")
            Exit Sub
        End If
    For i = 13 To 17 '1ère colonne du bloc
        M = Range("y" & i - 9)
        Rep = InputBox(M)
        Cells(i, CL) = UCase(Rep)
    Next i

    For i = 15 To 17 '2ème colonne du bloc
        M = Range("y" & i - 6)
        Rep = InputBox(M)
        Cells(i, CL + 1) = UCase(Rep)
    Next i
End Sub

Pour les listes, je ne sais pas faire

Fichier:

https://www.excel-pratique.com/~files/doc2/MsgBox2.xls

Bonne journée

Claude

Merci Claude.

Ca fonctionne très bien.

Si quelqu'un a une idée pour la liste elle sera la bienvenue.

Merci encore.

Rechercher des sujets similaires à "succession msg box"