Bonjour,
Après réflexion je me suis lancé dans le paramétrage d'un vrai formulaire, et je dois avouer que cela me permet de comprendre peu à peu le VBA et à y prendre goût. J'ai un petit souci avec mon formulaire de saisie qui dois renvoyer mes données dans un tableau. Lorsque je valide mon ajout de donnée je voudrais qu'il remplisse la 1ere ligne vide qu'il rencontre je m'explique : si ma ligne 2 de mon tableau contient des valeurs et que la ligne 4 en contient elle aussi je voudrais que lorsque je clique sur ajouter la ligne 3 se remplisse voila le code que j'ai essayé :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| Private Sub CommandButton1_Click()
If TextBox1 = "" Or ComboBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Or TextBox4 = "jj/mm/aaaa" Or ComboBox2 = "" Or TextBox5 = "" Or TextBox6 = "" Then
MsgBox ("Toutes les informations ne sont pas remplies")
Else
If Sheets("Liste").Range("A2") = "" Then
Else
Sheets("Liste").ListObjects(1).ListRows.Add
End If
dlt = Sheets("Liste").Range("H1048576").End(xlUp).Row
Sheets("Liste").Range("A" & dlt) = TextBox1
Sheets("Liste").Range("B" & dlt) = ComboBox1
Sheets("Liste").Range("C" & dlt) = TextBox2
Sheets("Liste").Range("D" & dlt) = TextBox3
Sheets("Liste").Range("E" & dlt) = TextBox4
Sheets("Liste").Range("F" & dlt) = ComboBox2
Sheets("Liste").Range("G" & dlt) = TextBox5
Sheets("Liste").Range("H" & dlt) = TextBox6
End If
End Sub |
J'ai aussi essayé de remplacé :
dlt = Sheets("Liste").Range("A1048576").End(xlUp).Row
par
dlt = Sheets("Liste").Range("A").End(xlDown).Row
Alors avec le premier code sa fonctionne mais pas comme je le souhaite c'est à dire qu'il rajoute une ligne sous la dernière ligne rempli.
J'ai penser à une 2eme solution : utiliser le code suivant :
dlt = Sheets("Liste").Range("A1048576").End(xlUp).Row
avec dans mon formulaire un bouton supprimer qui permettra de supprimer une ligne du tableau désiré, mais sa je n'est pas trouvé comment faire.
Cordialement

Envoyé par
unparia
Comme tu le constates, l'erreur première (Dépassement de capacité) n'est plus là.
Et tu as maintenant une autre erreur, dont la cause est également autre

Quelle est la valeur de colonne en mode Debug ? (tu as à ce propos "zappé" la dernière phrase de mon précédent message...)
Par ailleurs : ta variable ctrl est un objet (un contrôle présent sur ton userform) et non une valeur. Il t'appartient de préciser la propriété de cet objet dont tu souhaites affecter la valeur à la cellule traitée en boucle.
Si tu as copié/collé ce code, le "tutoriel" que tu évoques est à déconsidérer totalement.
Partager