Macro ajout saisie de données avec méthodes calculatrice

Bonjour à tous, tout nouveau sur le forum et envi d'apprendre un peux plus excel, Macro & VBA.

Ceci dit je me retrouve a un problème que je n'arrive pas a faire ( voir fichier joins ).

J'aimerais créer un bouton saisie qui ouvrirais une forme de calculatrice qui permettrais de rentrer une série de nombre dans les cases bien défini en cliquant sur entrer.. dans mon fichier par exemple le déroulement souhaiter:

1- Clic sur un bouton: Saisie donnée

2- Ouverture d'une sorte de calculette, ou on tape un nombre qui ce copiera dans la première cellule "C4"

3- Puis en tapant ENTRER on passe a la case "D4" ou le retape un nombre qui ce copiera en "D4"

4- Puis en tapant ENTRER on passe a la cellule "F4" ou tape le nombre qui copiera en "F4"

5- Puis en tapant ENTRER on passe a la cellule "G4" ou tape le nombre qui copiera en "G4"

6- De même pour "J4" a la seule différence lorsque l'on tape ENTRER on passe a la cellule "C5" et ainsi de suite jusqu'à remplir le tableau entier.

Avec le tout une particularité c'est que si pas de donnée a copier en faisant ENTRER cela laisse la case blanche.

Je remercie tous ceux qui pourrons m'aider ;)

A vous lire Matt ;)

Bonjour,

Ci-après une proposition de macro :

Sub RemplirTableau()
  Dim colonnesValides(0 To 4) As Long
  colonnesValides(0) = 3
  colonnesValides(1) = 4
  colonnesValides(2) = 6
  colonnesValides(3) = 7
  colonnesValides(4) = 10

  Dim ligneMin As Long
  Dim ligneMax As Long
  ligneMin = 4
  ligneMax = 39

  Dim i As Long, j As Variant, valeur As String
  For i = ligneMin To ligneMax
    For Each j In colonnesValides
      valeur = Application.InputBox("Entrez la valeur de la cellule en " & FeuilleSaisie.Cells(i, j).Address _
      & vbCrLf & "(entrez 'Q' pour quitter)", "Calculatrice", vbNullString, Type:=2)

      If VBA.UCase$(valeur) = "Q" Then Exit Sub

      FeuilleSaisie.Cells(i, j).Value2 = valeur
    Next j
  Next i

End Sub

Bonsoir,

Merci, c'est bien le principe ;) que je cherchais. Par contre je ne trouve pas évidant de clic Q & entrer pour quitter au lieu du clic X rouge pour fermer la fenêtre. Y'a moyen de faire suivre la donnée entrer par une sorte de surbrillance ?

En tout cas vraiment merci ;)

Je comprends bien, moi aussi je n'aime pas trop. Mais puisque vous voulez "sauter" les entrées vides (clic sur entrée directement), on ne peut pas vraiment détecter quand l'utilisateur clique sur la croix rouge, car cela renvoie le même résultat.

Je lis cependant en ligne (How to detect if user select cancel InputBox VBA Excel - Stack Overflow) que si l'on utilise

(StrPtr(valeur) = 0)

On doit pouvoir détecter le clic sur la croix. A tester, dans ce cas ajoutez ce petit bout de code et essayez :

If (StrPtr(valeur) = 0) Then Exit Sub

Pour la mise en avant des cellules, puisque vous cherchez à progresser en VBA, je vous laisse réfléchir à "comment" mettre en surbrillance la cellule actuelle à partir du code que je vous ai fourni.

Vous pouvez utiliser

Range.Activate, méthode (Excel) | Microsoft Learn pour sélectionner une cellule dans le classeur

ou bien

Propriété Range.Interior (Excel) | Microsoft Learn pour colorer le fond d'une cellule (attention petit piège il faudra penser à décolorer la cellule avant de passer à la suivante.

Bon courage ! Si vous n'y arrivez pas je vous posterai la solution.

HO ! Génial. Je vais essayé de bidouiller ca !! en tout cas vraiment merci ;)

Bonsoir,
J'ai trouvé a quoi j'aurais aimé que ca ressemble ;)

photo 11 09 2024 18 49 38

Bonjour,

C'est (beaucoup) plus compliqué. Jetez un oeil à ce cours et les suivants Cours VBA : UserForm (excel-pratique.com)

Rechercher des sujets similaires à "macro ajout saisie donnees methodes calculatrice"