Code VBA : Ajouter dans une colonne vide

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

4 réponses

  1. Contributeur
    Bonjour

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

     Michel
    0
    1. Contributeur
      euh..
      si J4 est non vide
      col = Rows(4).Find("", Range("J4"), xlValues).Column
      Cells(4,col)=textbox....
      0
    2. @michel_mMerci 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
  2. Contributeur
    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
    1. Merci pour le lien, je savais pas comment l'envoyer !
      0
  3. 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
    1. Contributeur
      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