Bonjour !

Je suis un débutant sur Excel et VBA, dans le cadre d'un stage que j'effectue en ce moment même, j'ai comme objectif de transférer des données rentrées précédemment dans un formulaire vers un tableau Excel.
J'ai travaillé sur un tableau de façon à découvrir le langage, en essayant de réaliser quelques fonctions basiques(ce tableau me servira sûrement d'exemple par la suite, je souhaite donc le faire sans erreurs).

Nom : 1433333884-screen1.png
Affichages : 221
Taille : 11,8 Ko

Je n'avais encore jamais programmé en VBA, j'ai des notions de C, donc j'ai déjà une logique pour réaliser certaines choses, mais je n'arrive justement pas encore à tout faire.

Je vous explique mon problème : je souhaite que les informations occupent une ligne par personne, il me faut donc transférer ces mêmes données dans les cellules adéquates. Au début, j'avais pensé créer une variable fixe(je ne connais plus le terme exacte), qui ne bougerait pas à la fermeture du fichier, et qui s'incrémenterait à chaque nouvel adhérent.
Néammoins, j'ai ensuite vu que l'on pouvait trouver la première ligne vide d'un tableau facilement, grâce à
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
    If IsError(Range("A1").End(xlDown).Row) Then 'Si erreur avec A1, alors la
        NLign = 2                                'première ligne vide est 2
    Else
        NLign = Range("A1").End(xlDown).Row + 1  'Sinon première ligne vide =
    End If                                       'ligne trouvée +1
J'ai vérifié grâce à une MsgBox et le résultat est le bon.

C'est là que je bloque : je n'arrive pas à séléctionner correctement via Range la cellule qui prendra la donnée, j'utilise ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    nom = TxtNom
    Range("A" & NLign).Value = nom
    prenom = TxtPrenom
    Range("B" & NLign).Value = TxtPrenom
    daten = TxtDate
    Range("C" & NLign).Value = TxtDate
Comme vous pouvez le voir, j'ai ma variable "NLign" qui indique le numéro de la ligne prochaine ligne vide de disponible, c'est elle qui doit me servir pour mes coordonnées lors de l'envoie des informations vers le tableau.

J'imagine que je n'utilise pas la bonne méthode puisque j'obtient le message "La méthode Range de l'objet _Global a échoué" , mais même en en essayant d'autres, ça revient au même(je le fais sûrement mal).

Je précise que je me suis aidé de ce tutoriel pour réaliser mon formulaire.

Si vous avez besoin de plus de code, du fichier ou de plus d'informations, n'hésitez pas à demander car là je bloque vraiment depuis plusieurs jours.

Merci beaucoup, Kamec.