[VBA] remplir un tableau via un InputBox

Résolu
Bonjour,

Bonjour,

Je suis débutant en VBA et j’ai développé une application relativement simple qui consiste à saisir des informations via un formulaire sous la forme d’InputBox. Ces informations ont pour vocation de remplir un tableau, ainsi à chaque saisie l’objectif serait de générer une nouvelle ligne dans le tableau.

Comment procéder pour que lorsque l’on lance la macro, Excel détecte la première ligne vide et y fasse figurer les données saisies ?

Merci d’avance !
Configuration: Windows XP
Firefox 2.0.0.7

9 réponses

  1. Bonjour,
    il manque quelques infos à mon gout ...
    ton inputbix est dans un formulaire, ou directement sur un onglet?
    le tableau est ou ?
    dans un autre onglet (c'est donc une simple feuille excel) ou lui aussi, dans un formulaire ?
    0
    1. Alors :
      Il s'agit d'un formulaire et le tableau est en effet sur un autre onglet (simple feuille excel)
      0
      1. En fait ce qui me pose problème c'est le fait de déterminer la première ligne vide du tableau et de "l'activer" pour y faire figurer les données saisies ?

        Une suggestion svp ?!?
        0
        1. Contributeur
          Bonjour,

          ou en partant du bas de la feuille pour s'affranchir des éventuelles cellules vides.

          1ère cellule vide suivant la dernière cellule occupée de la colonne B:
          [B65536].End(xlUp).Offset(1, 0).Select

          eric
          0
          1. Bonjour,

            Merci beaucoup je vais essayer et je vous tiens au courant !
            0
            1. Salut,

              Merci beaucoup, cela fonctionne parfaitement pour déterminer la première ligne vide du tableau !

              Encore une petite question : quelle est la typologie pour indiquer les coordonnées de différentes cellule de la ligne « active », du genre :

              Range(« ligne active » ;2) = UserForm1.TextBox.1.Value
              Range(« ligne active » ;3) = UserForm1.TextBox.2.Value

              ??

              Encore merci !
              0
              1. bonjour,

                Essaye avec la commamande activrow

                ou bien tu peut utiliser la méthode OFFSET a partir de ta cellule active

                ActiveCell.Offset(1, 0).Select ( apres ta boucle la cellule vide est activé, alors avec cette commande, tu te déplace a partir de cette derniere.)

                il te rest a adapter

                Syberio
                0
                1. La classe !

                  MERCI BEAUCOUP ! ! !
                  -1
                  1. bonjour,

                    voici une solution à ton probleme:

                    Utilise ce code pour chercher la derniere cellule vide: C une boucle: tant que la cellule n'est pas vide, il continu la recherche et s'arret lorsque la cellule est vide.

                    ' selection de la case de départ
                    Range("B15").Select
                    ' boucle de recherche
                    Do While IsEmpty(ActiveCell) = False
                    Selection.Offset(1, 0).Select
                    Loop

                    En esperant t'avoir aidé

                    Syberio
                    -1
                    1. bonjour
                      j ai un souci
                      je souhaite transferer des donnees qui ont ete calculees dans une macro et les envoyer sur une feuille excel du meme document pour creer un tableau mais j ai le meme probleme que precedemment c est a dire que la derniere case vide soient trouvee pour la remplir

                      merci de votre aide
                      0