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

4 réponses

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

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

     Michel
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      euh..
      si J4 est non vide
      col = Rows(4).Find("", Range("J4"), xlValues).Column
      Cells(4,col)=textbox....
      0
      1. 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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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. Gloups
       
      Merci pour le lien, je savais pas comment l'envoyer !
      0
  3. 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
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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