Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Problème d'ajout automatique de lignes à un tableau : la première s'ajoute au tableau mais pas les suivantes !

Clemee61

XLDnaute Junior
Bonjour à tous,
J'ai un fichier Excel avec un tableau qui se rempli grâce à un formulaire. Lorsque le formulaire (qui représente une fiche d'inscription) est validé, un tableau se rempli avec une ligne par personne inscrite sur le formulaire (intitulé "fiche client").
Mon problème est que la première ligne vient bien compléter le tableau existant mais pas les suivantes.
Je ne suis pas sûr que ce soit un problème de VBA car tout fonctionnait grâce aux très larges contribution de @vgendron et @ChTi160.
Ma question est la suivante : sur le fichier joint, comment insérer plusieurs lignes à partir de la "fiche client" dans le tableau de l'onglet "inscription" ?
Merci à ceux qui se pencheront sur la question.
 

Pièces jointes

  • Inscriptions 2024 V7.xlsm
    337 KB · Affichages: 3

ChTi160

XLDnaute Barbatruc
Bonsoir Clemee61
J'espère que tu vas bien
Ce que j'ai modifié dans la Procédure "Private Sub BtnNouveau_Click()"
j'ai supprimé une boucle et Changé les "j" en "i" pour ne faire qu'une Boucle de 4
VB:
Private Sub BtnNouveau_Click() ' Bouton nouveau client = AUCUN séjour n'a déjà été effectué
    Dim derligne As Integer
    
    ' Controle de la saisie des dates de naissance
    For i = 1 To 4 'pour les 4 enfants
        If Me.Controls("Txt_Nom" & i) <> "" And Len(Me.Controls("Txt_Age" & i)) = 0 Then 'si il y a un nom, mais pas de date de naissance
            MsgBox ("Saisie de la date de naissance obligatoire !")
            Me.Controls("Txt_Age" & i).SetFocus
            Exit Sub
        End If
'    Next i ''''''''''''''''''Supprimer
    
     ' Controle de la saisie des dates de début de séjour
 
'  For j = 1 To 4 'pour les 4 enfants ''''''''''''''''''Supprimer
        If Me.Controls("Txt_Nom" & i) <> "" And Len(Me.Controls("Txt_DatFin" & i)) = 0 Then 's'il y a un nom, mais pas de date de début de séjour
            If MsgBox("Êtes vous sur de ne pas mettre de date de séjour ?", vbYesNo, "Dates de séjour") = vbNo Then
                 Me.Controls("Txt_DatFin" & i).SetFocus
                Exit Sub
        End If
      End If
    Next i '''''''''''''''''j'ai modifié les J en i
Je ne sais pas si ça réponds a ta demande , à voir donc ,tiens nous au courant !
Jean marie
 

Clemee61

XLDnaute Junior
Bonjour Jean-Marie,

Merci pour la simplification du code et oui tout va très bien pour moi. J'espère que pour toi aussi.

Cependant cela ne change rien au problème. Les lignes créées correspondent bien à ce qui doit être fait mais seule la première ligne est comprise automatique dans le tableau, les autres sont en dessous (du tableau). Résultat si j'ajoute les données d'une nouvelle fiche, cela écrase les données en dehors du tableau.

Cela est d'autant plus incompréhensible que tout fonctionnait bien sur une ancienne version et ne fonctionne plus maintenant. D'où j'imagine que ce n'est pas une histoire de code...Mais de quoi ???
Si quelqu'un à la réponse, peut-être que c'est tout bête ! (j'espère ).

Cédric
 

Pièces jointes

  • Inscriptions 2024 V8.xlsm
    337.4 KB · Affichages: 5

Clemee61

XLDnaute Junior
J'ai une idée mais je n'arrive pas à la mettre en œuvre (en code devrais je dire !) :

Puisque les lignes sont en dehors du tableau, il suffirait d'étirer le tableau jusqu'à la dernière ligne.

Je vais à la dernière ligne :

Range("A" & Rows.Count).End(xlUp).Select


Là il faudrait nommé cette cellule par exemple "DerCel", DerLigne étant un numéro


Ensuite j'agrandi le tableau :

ActiveSheet.ListObjects("t_Inscriptions").Resize Range("$A$2:BBDerCel")
Range("t_Inscriptions").Select

Bon alors c'est de la bidouille qui ne va pas plaire aux spécialistes évidemment mais si ça marchait je m'en contenterais bien moi. Pour l'instant je n'ai pas réussi. Si quelqu'un peut m'aider...

Cédric
 

ChTi160

XLDnaute Barbatruc
Bonsoir Clemee61
Je ne comprends pas ()
tu dis :
Chez moi si j'ajoute de Fois Trois enfants cela me met bien les données dans le tableau structuré nommé "t_Inscriptions" ou alors je n'ai pas compris Lol
voir la vidéo juste pour montrer chez mois ce que cela donne §
Jean marie
 

Pièces jointes

  • Clemee61.gif
    937.3 KB · Affichages: 12

Clemee61

XLDnaute Junior
Tu as
bien compris,
Quand je mets un nom ça marche aussi. Mais quand j'en mets 2 ou plus, seul le premier entre dans le tableau.
C'est très énervant si ça marche ailleurs !
 

ChTi160

XLDnaute Barbatruc
Re
Chez moi c'est ok ! j'ai du réduire car ensuite le fichier est trop gros
J'essaie une autre vidéo avec 2 puis 1 lol !
Jean marie
j'utilise le Fichier du Post #3
 

Pièces jointes

  • Clemee61-2.gif
    519.3 KB · Affichages: 14
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…