code VBA : incrémentation dans une colonne

  • Initiateur de la discussion Initiateur de la discussion Sylvain
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

S

Sylvain

Guest
Bonjour à tout le Forum,

J'ai quelques petits problèmes avec mon code VBA.

J'ai créé un classeur XLS qui appel une Userform dès le clique sur un CommandButton.

Sur cette Userform se trouvent plusieurs TextBox.

Ensuite, à partir du moment ou je clique sur un CommandButton (situé sur ma Userform), les informations contenues dans les TextBox se recopient automatiquement dans un tableau préalablement tracé (de la colonne B à M).

A chaque appel et saisie sur ma Userform, les informations se recopient à la suite du tableau.

Je souhaiterai qu'à chaque clique sur mon CommandButton de ma Userform, un numéro apparaisse dans la colonne 'A' (et s'incrémente à chaque clique).

Mille merci à ceux qui pourront m'éclairer.

Voici le code du CommandButton :
Private Sub CommandButton1_Click()
Dim MaLigne As Integer
MaLigne = Range('A65536').End(xlUp).Row + 1
Range('A' & MaLigne) = Label14.Caption + 1 'le Label14 contient le n°0 : Pbm : J'ai tjr le n°1 dans ma colonne A
Range('B' & MaLigne) = TextBox1.Value 'Ecrit le contenu de Textbox1 dans la colonne B
Range('C' & MaLigne) = TextBox2.Value
Range('D' & MaLigne) = TextBox3.Value
Range('E' & MaLigne) = TextBox4.Value
Range('F' & MaLigne) = TextBox5.Value
Range('G' & MaLigne) = TextBox6.Value
Range('H' & MaLigne) = TextBox7.Value
Range('I' & MaLigne) = TextBox8.Value
Range('J' & MaLigne) = TextBox9.Value
Range('K' & MaLigne) = TextBox10.Value
Range('L' & MaLigne) = TextBox11.Value
Range('M' & MaLigne) = TextBox12.Value
Unload Me 'Vide et ferme le UserForm
End Sub

Bonne fin de journée
 
Bonjour Sylvain

les réponses d'hier n'ont pas solutionnées ton problème ??

Peux tu dire si tu récupère un message d'erreur ou si le résultat n'est pas celui attendu.

En principe avec les lignes de code fournis ca devrait fonctionner.

Bonne journée

@+
 
bonjour Sylvain

petit coup de gueule !!!

il s'agit du même probleme que celui de ce fil

Ce lien n'existe plus

il serait agréable à ceux qui ont essayé de t'aider d'avoir des nouvelles sur ce fil et il est parfaitement inutile d'en créer un nouveau
 
Bonjour Pierrot93,

Les solutions d'hier n'ont pas fonctionné comme je le souhaitais. Mais j'avoue que je débute tout juste en VBA et que je suis, pour l'instant, incapable d'adapter le code à a guise.

Si tu peux m'éclairer, ça me donnerai un sacré coup de pouce.

Merci beaucoup.
 
Bonjour,

MaLigne = Range('A65536').End(xlUp).Row + 1

tu testes la colonne A mais tu n'y écris jamais rien, c'est normal que 'MaLigne' reste = 1 !

Testes donc colonne B

MaLigne = Range('B65536').End(xlUp).Row + 1
 
bonjour pierrejean,
bonjour TOFatJOB,

merci pour votre code mais mon problème persiste tjr malgré tout. Le souci vient du fait du label14 qui contient la valeur '0' (par défaut).

L'autre souci (je pense) vient du fait que lorsque je valide (en cliquant sur mon commandButton) ma userform se ferme. Pour ressaisir des informations, je dois rappeler cette userform (qui ajoute donc 1 à chaque fois mais sans tenir compte de ce que j'ai fait avant)
 
Re : code VBA : incrémentation dans une colonne

Bonjour, j'ai le meme problème que Sylvain.

Mais la solution proposée n'est plus disponible visiblement.
J'ai créé un classeur XLS qui appel une Userform, avec 2 Textbox, dès le clique sur un CommandButton.
Lorsque je clique sur un CommandButton (situé sur ma Userform), les informations contenues dans les TextBox se recopient automatiquement dans tableau préalablement tracé a partir de la colonne B.

A chaque appel et saisie sur ma Userform, les informations se recopient à la suite du tableau.

Je souhaiterai qu'à chaque clique sur mon CommandButton de ma Userform, un numéro apparaisse dans la colonne 'A' (et s'incrémente à chaque clique), SI ce numéro n'existe pas ni sur cette colonne A, ni sur la colonne A de la feuille 2, assez similaire a la feuille 1 dont je parle depuis le début de ce post.
Je sais pas si c'est clair...
Merci beaucoup pour votre précieuse aide!

Edit: j'ai rajouté une pièce jointe très simplifié dans le sens où ca me convient si, dès qu'une cellule de la colonne est non-vide est considérée comme indexable.

Merci encore!
 

Pièces jointes

Dernière édition:
Re : code VBA : incrémentation dans une colonne

Bonsoir Louidji,

Je crains de n'avoir rien compris .

A tout hasard cette macro dans le code de la feuille Tabelle1 :

Code:
Private Sub CommandButton1_Click()
Dim lig As Long
With Tabelle4
  lig = .Range("D65536").End(xlUp).Row + 1
  ActiveCell.EntireRow.Copy .Rows(lig) 'Copier-Coller
  .Cells(lig, 1) = .Cells(lig, 1) + 1 'incrémentation en colonne A
End With
End Sub
Voir le code voisin dans le code de la feuille Tabelle4.

Fichier joint.

PS : il aurait mieux valu créer un nouveau fil...

A+
 

Pièces jointes

Re : code VBA : incrémentation dans une colonne

Bonsoir Job75,
Tu as en partie résolu le pb mais c'est pas encore ca: ce que je voudrais, c'est que quand j'écris qque chose dans la tabelle1 colonne E, que la colonne A soit incrémenter. Ensuite si je veux couper-coller cette ligne sur la Tabelle2, l'indexation ne change plus.
Et si dans un dernier temps, je veux recouper-coller la ligne (qui est en Tabelle2) dans la feuille Tabelle1, que l'index reste toujours le même. Me suivez-vous?
Merci infiniment!
 
Re : code VBA : incrémentation dans une colonne

Re,

Bien compliqué tout ça, je ne cherche pas à vous suivre.

Je vous conseille vraiment d'ouvrir un nouveau fil en donnant toutes les billes.

Vous parliez d'un UserForm et de TextBox 😕

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
409
Réponses
10
Affichages
652
  • Question Question
Microsoft 365 VBA insert photos
Réponses
12
Affichages
796
Retour