Progamme en VBA

Résolu
Bonjour,

Quelqu'un pourrais m'aider de faire le programme suivant, svp:

Créer un macro avec une ou plusieurs boucles de type "DO WHILE" qui demander utilisateur saisir 2 valeurs: la 1er valeur comprise entre 1 et 4, la 2eme valeur comprise entre 1 et 3
Si pour chacune des valeurs, la valeur saisie ne répond pas au critère, le programme devra afficher le message: "la valeur saisie n'est pas correcte" et demander a nouveau cette valeur jusqu'au respect des contraintes.

Cette macro va inscrire les chiffres entre 1 a 100 en partant de la cellule "A1" de la feuille 1 en se décalant pour chaque valeur du nombre de la lignes correspondant a la première valeur demandée et du nombre de colonnes correspondant a la 2eme valeur demandée

4 réponses

  1. bonjour

    avec ce que je comprends

    dans ta boucle compteur il doit y avoir
    1. la demande de valeur1
    2. la demande de valeur2
    3. l'affichage de compteur dans la bonne cellule

    bonne suite
    0
    1. j'arrive a faire avec la 1ere partie : demander utilisateurs entrer 2 valeurs
      pour la 2eme partie, je suis tjrs bloque

      ce que j'ai fait, mais ca marche pas comme je veux:

      Sub Macro3()

      Sheets("Feuil1").Select

      Dim valeur1 As Long
      Dim valeur2 As Long
      Dim compteur As Long
      Dim i As Integer
      Dim j As Integer

      valeur1 = InputBox("Entrez un chiffre entre 1 et 4: ")
      compteur = 1
      Do While valeur1 <> "1" And valeur1 <> "2" And valeur1 <> "3" And valeur1 <> "4"

      MsgBox ("la valeur saisie n'est pas correcte")
      valeur1 = InputBox("Re-entrez un chiffre entre 1 et 4: ")
      compteur = compteur + 1
      Loop
      MsgBox valeur1

      valeur2 = InputBox("Entrez un chiffre entre 1 et 3: ")
      compteur = 1
      Do While valeur2 <> "1" And valeur2 <> "2" And valeur2 <> "3"

      MsgBox ("la valeur saisie n'est pas correcte")
      valeur2 = InputBox("Re-entrez un chiffre entre 1 et 3: ")
      compteur = compteur + 1
      Loop
      MsgBox valeur2
      compteur = 1
      Do
      For i = 0 To valeur1
      For j = 0 To valeur2
      Range("A1").Offset(i, j) = compteur
      compteur = compteur + 1
      Next j
      Next i
      Loop While compteur > 100
      End Sub
      0