Code VBA : Ajouter dans une colonne vide

Gloups -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, je code depuis peu et il me reste peu de temps pour finir mon travail... J'aimerai pouvoir incrémenter mes données en colonne, je m'explique:

j'ai créer un bouton dans excel renvoyant à mon userform, je cherche à ce que les données rentrées puissent s'ajouter dans la colonne voulue
un peu comme ce code mais il marche pas

With UserAjouter1

If "K4" = "" Then
feuille.Range("K4").Value = TextBox1
feuille.Range("K5").Value = TextBox2
feuille.Range("K6").Value = TextBox3
Else
  If "L4" = " " Then
feuille.Range("L4").Value = TextBox1
feuille.Range("L5").Value = TextBox2
feuille.Range("L6").Value = TextBox3
Else
feuille.Range("M4").Value = TextBox1
feuille.Range("M5").Value = TextBox2
feuille.Range("M6").Value = TextBox3

        End If
        End If
      
End With


Merci à ceux qui pourront me donner quelques idées/conseils
A voir également:

4 réponses

michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

SI L4 est non vide
col = Rows(4).Find("", Range("L4"), xlValues).Column
Cells(4,col)=textbox....

 Michel
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
euh..
si J4 est non vide
col = Rows(4).Find("", Range("J4"), xlValues).Column
Cells(4,col)=textbox....
0
Gloups > michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention  
 
Merci de votre réponse, voila le nouveau code, cependant il ne fonctionne pas et je necomprend pas pourquoi... Les valeurs n'apparaissent pas dans ma feuille excel et des espaces y sont à la place!

Private Sub CmdAjouter1_Click()
Dim feuille As Worksheet
Set feuille = Application.ActiveWorkbook.ActiveSheet

Dim col As Integer

With UserAjouter1
col = Rows(4).Find("", Range("J4"), xlValues).Column
Cells(4, col) = TextBox1
col = Rows(5).Find("", Range("J5"), xlValues).Column
Cells(5, col) = TextBox2
col = Rows(6).Find("", Range("J6"), xlValues).Column
Cells(6, col) = TextBox3

End With


End Sub
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
userajouter1: c'est quoi ?

c'est en colonne ou en ligne ?
K---> L ou M ?
ou ligne 4,5,6

tes 2 macros ne font pas la même chose...

au besoin:
Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci par un clic droit sur le lien proposé dans le message de réponse

Dans l’attente


 Michel
0
Gloups
 
Merci pour le lien, je savais pas comment l'envoyer !
0
Gloups
 
voici le lien http://www.cjoint.com/c/FCuq4nADIB1

Je me suis trompé c'est bien J remplie et K L à remplir, Userajouter et un userfor pour saisir les 3 données que je cherche à placer en K4, K5,K6 ou en L4,L5,L6 ....
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Bonjour

Private Sub CmdAjouter1_Click()
Dim col As Byte
With ActiveSheet
col = Rows(4).Find("", .Range("D4"), xlValues).Column
.Cells(4, col) = Me.TextBox1
.Cells(5, col) = Me.TextBox2
.Cells(6, col) = Me.TextBox3
End With

0