code VBA : incrémentation dans une colonne

  • Initiateur de la discussion Sylvain
  • Date de début
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
 
P

Pierrot93

Guest
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

@+
 

pierrejean

XLDnaute Barbatruc
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
 
S

Sylvain

Guest
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.
 
T

TOFatJOB

Guest
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
 
S

Sylvain

Guest
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)
 

Louidji

XLDnaute Nouveau
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

  • index.xls
    108 KB · Affichages: 156
  • index.xls
    108 KB · Affichages: 190
  • index.xls
    108 KB · Affichages: 195
Dernière édition:

job75

XLDnaute Barbatruc
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

  • index(1).xls
    114 KB · Affichages: 129
  • index(1).xls
    114 KB · Affichages: 133
  • index(1).xls
    114 KB · Affichages: 154

Louidji

XLDnaute Nouveau
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!
 

job75

XLDnaute Barbatruc
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 :confused:

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 358
Messages
2 087 581
Membres
103 598
dernier inscrit
f-laurent