Intégrer les informations d'un forulaire dans mon fichier excel
Résolu/Fermé
ElHamanecer
Messages postés
15
Date d'inscription
mardi 11 avril 2017
Statut
Membre
Dernière intervention
26 avril 2017
-
19 avril 2017 à 15:00
ElHamanecer - 20 avril 2017 à 18:56
ElHamanecer - 20 avril 2017 à 18:56
A voir également:
- Intégrer les informations d'un forulaire dans mon fichier excel
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Liste déroulante excel - Guide
1 réponse
ThauTheme
Messages postés
1442
Date d'inscription
mardi 21 octobre 2014
Statut
Membre
Dernière intervention
29 juillet 2022
160
19 avril 2017 à 16:40
19 avril 2017 à 16:40
Bonjour ElHamanecer, bonjour le forum,
Le problème avec les Tableaux (ListObject) c'est que quand tu veux écrire sur la première ligne vide et que tu pars de la fin ça écrit dans la première ligne vide après le tableau. Il te faut changer la manière d'obtenir la première ligne vide du tableau. D'abord, vérifie s'il n'y a pas de données à la fin de ton tableau. puis remplace le code :
par :
Il serait aussi bien que tu rajoutes Ws. devant pour éviter que les données ne soient renvoyées dans un autre onglet :
Dans le code du Click sur le CommandButton1, supprime la ligne :
Tu as déjà définis la variable Ws à l'initialisation de l'UserForm. Ce doublon est inutile d'autant plus que tu as déclarée cette variable au niveau module, en première ligne. Donc elle garde sa portée tant que l'UserForm est ouvert...
Le problème avec les Tableaux (ListObject) c'est que quand tu veux écrire sur la première ligne vide et que tu pars de la fin ça écrit dans la première ligne vide après le tableau. Il te faut changer la manière d'obtenir la première ligne vide du tableau. D'abord, vérifie s'il n'y a pas de données à la fin de ton tableau. puis remplace le code :
L = Sheets("Clients").Range("A" & Rows.Count).End(xlUp).Row + 1
par :
L = IIf(Ws.Range("A2").Value = "", 2, Ws.Range("A1").End(xlDown).Row + 1)
Il serait aussi bien que tu rajoutes Ws. devant pour éviter que les données ne soient renvoyées dans un autre onglet :
ws.Range("A" & L).Value = ComboBox1 ws.Range("B" & L).Value = txtnom ws.Range("C" & L).Value = txtprenom ws.Range("D" & L).Value = txtrace ws.Range("E" & L).Value = txtcp ws.Range("F" & L).Value = txtmail
Dans le code du Click sur le CommandButton1, supprime la ligne :
Set Ws = Sheets("Clients")
Tu as déjà définis la variable Ws à l'initialisation de l'UserForm. Ce doublon est inutile d'autant plus que tu as déclarée cette variable au niveau module, en première ligne. Donc elle garde sa portée tant que l'UserForm est ouvert...
20 avril 2017 à 18:56
ça fonctionne très bien avec tes modifications !
Merci vraiment beaucoup je vais pouvoir avancer sur mon projet !
Je ne m'y connais absolument pas dans ce domaine. Je fais ce logiciel pour me facilité la vie avec mes rendez-vous et mes rentré d'argent.
Merci vraiment !