Bonjour le forum,

Je travaille sur une macro qui copie les données d'un userform dans un formulaire.

Jusque là, tout fonctionne.

Je souhaite faire la même chose avec les inputbox de la macro et c'est là que j'ai un problème.

Je ne maîtrise pas la syntaxe pour que les données soient copiées dans telle et telle cellule, après vérification que la cellule est vide ou non.

Je m'explique plus précisément :

La combobox5 contient une liste de valeurs et déclenche une inputbox, si certaines valeurs sont affichées.

Exemple, l'inputbox se déclenche, si la valeur "prime AAA" est affichée dans la combobox5. Je souhaite coller le contenu de l'inputbox à un endroit précis, en l'occurrence dans la colonne X, puis (si elle est remplie) dans la colonne AC, puis (même condition), dans la colonne AH, puis (idem) dans la colonne AM et enfin dans la colonne AR.

Voici une partie de mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub Combobox5_Change()
 
Dim resultat As String
Dim Type_Even2 As String
Dim Trouve2 As Range
Dim Colonne2 As Integer
 
 
If ComboBox5.Value = "Prime AAA" Then
 
resultat = InputBox("Merci d'entrer le montant ci-dessous.", "Monoutil", "Indiquez le montant ici")
Type_Even2 = ComboBox5.Text
 
Set Trouve2 = Sheets("Accueil").Range("M:M").Find(Type_Even2, lookat:=xlWhole)
For Colonne2 = 0 To 20 Step 5
If Sheets("Accueil").Range("S1").Offset(Trouve2.Row - 1, Colonne2) = "" Then
   Sheets("Accueil").Range("X1").Offset(Trouve2.Row - 1, Colonne2) = resultat: Exit For
End If
Next Colonne2

Ici, la macro cherche d'abord dans quelle ligne placer le code, à partir des valeurs de la colonne M.
Avec le code que j'ai ci-dessus, la première valeur est bien copiée en colonne X (tout est OK), mais la seconde valeur écrase la première.

Comment puis-je faire ?

Je galère avec cette histoire !

Le problème est que j'ai une vingtaine d'inputbox à gérer de la même façon et que, sans solution, je ne peux pas avancer sur mon projet.

Merci d'avance pour votre aide.

Cordialement.