Code VBA : Ajouter dans une colonne vide

Fermé
Gloups - Modifié par Chris 94 le 19/03/2016 à 16:42
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 21 mars 2016 à 12:21
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
Modifié par michel_m le 19/03/2016 à 18:46
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
20 mars 2016 à 07:32
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023
20 mars 2016 à 14:13
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
Modifié par michel_m le 20/03/2016 à 14:48
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
Merci pour le lien, je savais pas comment l'envoyer !
0
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 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 313
21 mars 2016 à 12:21
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