Enregistrer données d'un UserForm dans feuille Excel
Bonjour à tous.
TRES débutant en VBA j'ai créé un UserForm à l'aide des conseils glanés ici et là.
J'ai réussit à mettre un code pour inserer mes données (56) dans une feuille excel que j'ai nommé "Base".
Si mon code permet d'inserer chaque texbox et combox à la bonne place, dès que je créé un nouveau formulaire de données elle se mettent à la place des données précédentes (elle les "écrase").
Quelqu'un peut il me venir en aide dans la correction de mon code?
D'avance un très grand MERCI!
Private Sub CommandButton3_Click()
num = Sheets("Base").Range("A65536").End(xlUp).Row + 1
Sheets("Base").Activate
Range("B" & num).Value = Civilite
Range("C" & num).Value = Nom
Range("D" & num).Value = Prenom
Range("E" & num).Value = Nomduconjoint
Range("F" & num).Value = Prenomduconjoint
Range("G" & num).Value = datedenaiss
Range("H" & num).Value = datedenaissconjoint
Range("I" & num).Value = Profession
Range("J" & num).Value = Classprof
Range("K" & num).Value = Professconjoint
Range("L" & num).Value = Classprofconjoint
Range("M" & num).Value = Maritale
Range("N" & num).Value = Enfantsfoyer
Range("O" & num).Value = adresse
Range("P" & num).Value = codepostal
Range("Q" & num).Value = Commune
Range("R" & num).Value = Circonscription
Range("S" & num).Value = Telephon
Range("T" & num).Value = Telportable
Range("U" & num).Value = Mail
Range("V" & num).Value = Mission1
Range("W" & num).Value = dateenregistrement1
Range("Y" & num).Value = datevalidation1
Range("AB" & num).Value = Assistante1
Range("AC" & num).Value = Psychologue1
Range("AD" & num).Value = Mission2
Range("AE" & num).Value = dateenregistrement2
Range("AG" & num).Value = datevalidation2
Range("AJ" & num).Value = Assistante2
Range("AK" & num).Value = Psychologue2
Range("AL" & num).Value = Mission3
Range("AM" & num).Value = dateenregistrement
Range("AO" & num).Value = datevalidation3
Range("AR" & num).Value = Assistante3
Range("AS" & num).Value = Psychologue3
Range("AT" & num).Value = Mission4
Range("AU" & num).Value = dateenregistrement4
Range("AW" & num).Value = datevalidation4
Range("AZ" & num).Value = Assistante4
Range("BA" & num).Value = Psychologue4
Range("BB" & num).Value = notice
Range("BC" & num).Value = Actif
Range("BD" & num).Value = Rang
Range("BE" & num).Value = Fratrie
Range("BF" & num).Value = Modifagrement
Range("BG" & num).Value = Particularites
Range("BH" & num).Value = Annee1
Range("BI" & num).Value = Annee2
Range("BJ" & num).Value = Annee3
Range("BK" & num).Value = Annee4
Range("BL" & num).Value = ageenfant1
Range("BM" & num).Value = paysorigine1
Range("BN" & num).Value = ageenfant2
Range("BO" & num).Value = paysorigine2
Range("BP" & num).Value = observation1
Range("BQ" & num).Value = observ2
End Sub
Bonjour,
tu calcules la première ligne vide grâce à ce code :
num = Sheets("Base").Range("A65536").End(xlUp).Row + 1donc, calcul sur la colonne A
or, dans ton code, tu ne remplis jamais la colonne A....
Soit tu calcules avec :
num = Sheets("Base").Range("B65536").End(xlUp).Row + 1donc, colonne B, soit tu mets quelque chose dans la colonne A lors de l'inscription de tes données à partir de ton USF...
Bonne journée
Merci, .......mais donc......? que dois je corriger dans ma formule?
a+
(suite) ca y'est j'ai compris !!! (je met la correction qui pourra être utile aux autres...)
En effet ma colonne A est vierge car je souhaitais y mettre mes N° de dossier (1,2,3 etc...). (ce que je n'avais pas encore fait.....)
Une fois que je les ais mis dans ma feuille excel (nomée Base) et changé la formule :
num = Sheets("Base").Range("B65536").End(xlUp).Row + 1
cela fonctionne parfaitement avec toutes les données.
Maintenant l'aventure continue, il faut que je cherche (et trouve) comment dans mon userform faire apparaitre la fiche enregistrée dans ma base en entrant dans le userform le N° de dossier ou par le nom dans la liste déroulante du userForm.
Encore merci
Bonjour,
Maintenant l'aventure continue, ........
Euh, pour toi, ou pour nous?
Pas trop envie de recréer (sous-entendu, de refaire ce que tu as "sans doute" déjà fait....) un fichier, avec un USF, empli de ComboBox, TextBox et autres joyeusetés.....
J'ai répondu sans fichier, car la solution était "apparente", maintenant, "l'aventure continue"
Mettre un code, c'est bien, mettre un fichier "pré-rempli", c'est mieux...
PS, comme conseil, ce que je pourrais te donner, c'est de donner à chaque "....Box", un nombre finissant par le numéro de colonne concernée...
Ex : Le ComboBox25 renseigne la colonne 25 (soit colonne "Y")
le TextBox32 renseigne la colonne 32 (soit colonne AF)
et ainsi de suite.....
ça allègerait énormément ton code....
Mettre un nom spécifique à un contrôle, c'est bien, mais pour le traitement, c'est un peu plus galère....
Bon courage....
Un Grand Merci à chacun pour l'aide apportée
A+