Changer de ligne, lors d'une nouvelle UserForm

Résolu
xFlo -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonsoir,

J'aimerai savoir s'il est possible de changer de ligne, lorsqu'on ré-ouvre la UserForm à l'aide du bouton ? Don't panic ! Je vais m'expliquer !

J'ai un bouton sur ma page excel qui me permet d'ouvrir une UserForm qui possède une ComboBox, ensuite quand je valide cette UserForm, une deuxième UserForm s'ouvre, et là il y a plein d'élément à remplir avec des ComboBox et des TextBox. Après avoir rempli tout ces éléments, ils se mettent bien sur la ligne 4 en C4,D4,E4,F4 .... etc. Jusqu'à la ça fonctionne !

Ensuite, je ré-appui sur le bouton pour ré-ouvrir la UserForm, sauf que la je voudrai que les éléments qu'on va remplir dans la UserForm dans un second temps se remplisse cette fois-ci sur la ligne 5, en C5,D5,E5,F5 .... etc. Et ainsi de suite !

Merci d'avance pour votre aide !

Cordialement,
Flo.

1 réponse

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

    à l'ouverture du 2° userform, il faut indiquer la première ligne; plusieurs manières

    ligvide=columns("C").find("*",,,,,xlprevious).row+1

    ou s'il n'y a pas de trous dans la colonne C
    ligvide=columns("C").find("",range("C1"),xlvalues).row

    il y a encore plein d'autre méthodes comme
    ligvide = Range("C" & Cells.Rows.Count).End(xlUp).Row + 1

    comme tu veux...

    Edit:
    il faudra certainement déclarer ligvide en variable globale avec
    Dim ligvide as integer
    avant toute macro dans le code de l'usf
    Michel
    0
    1. xXFlo_xFR Messages postés 21 Statut Membre
       
      Merci de ton aide !

      Mais étant assez novice dans la matière, j'aimerai avoir un peu plus de précision sur l'endroit ou je doit copier la formule et se que je doit modifier ?

      Merci.
      0
    2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      Bin c'est dans la procédure "userform initialize" de l'usf concerné où ca t'arrange avant l'appel de ligne vide

      par ex en utilisant un bloc

      With sheets("machin")
      ligvide=.columns("C").find("",.range("C1"),xlvalues).row
      attention au points obligatoires devant columns et range
      End with
      0
    3. xXFlo_xFR Messages postés 21 Statut Membre
       
      Bonjour,

      Si cela peut vous aidez, voici mon code que j'ai actuellement :

      Private Sub CommandButton1_Click()
      Range("C4") = ComboBox1.Value
      ' Permet d'ouvrir la UserForm2 quand on valide la UserForm1
      UserForm1.Hide
      UserForm2.Show

      End Sub

      Private Sub CommandButton2_Click()
      ' Permet de fermer la userform client
      End

      End Sub

      Et quand j'insère votre code, ça ne fonctionne plus du tout.
      0