https://www.excel-pratique.com/~files/doc/GENEALOGIE.xls
Bonjour à tous!
Je suis en train de faire une petite macro pour ma MOMAN mais je ne sais
pas comment éviter d'écraser les données quand elle réutilise le formulaire.
Je voudrais aussi éviter de lui demander combien de personnes elle veut encoder.
J'ai pensé à ça:
Range("A1" ).Select
While IsEmpty(ActiveCell) = False
ActiveCell.Offset(1, 0).Activate
Wend
mais étant newbie je sais pas comment l'utiliser
j'ai aussi joué avec l'enregistreur de macro et j'ai eu ça mais je sais pas non plus comment l'utiliser...
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
aidez-moi s'il-vous-plait
merci encore
G.
voici ma macro:
Sub GENEALOGIE()
Dim nombre As Integer
Dim cellule As Integer
nombre = InputBox("Entrez le nombre d'ancètres que vous désirez ajouter à la base de données" )
'titre gras plus autofit
Cells(1, 1) = "Sexe"
Cells(1, 2) = "Nom, Prénom"
Cells(1, 3) = "Date Naissance"
Cells(1, 4) = "lieu de Naissance"
Cells(1, 5) = "Date Décès"
Cells(1, 6) = "Lieu Décès"
Cells(1, 7) = "Nom du Père"
Cells(1, 8) = "Nom Mère"
Cells(1, 9) = "Epoux(se)"
Cells(1, 10) = "Date Mariage"
Cells(1, 11) = "Lieu Mariage"
Cells(1, 12) = "Nombre Enfant(s)"
Cells(1, 13) = "Nom(s)Enfant(s)"
Cells(1, 14) = "Source"
Range("A1:N1" ).Select
Selection.Font.Bold = True
Columns.EntireColumn.AutoFit
For i = 2 To nombre + 1
'Affichage du formulaire et transfert des données dans la macro
Gen.Show
Cells(i, 1) = Gen.Sex.Text
Cells(i, 2) = Gen.NOM.Text
Cells(i, 3) = Gen.DN.Text
Cells(i, 4) = Gen.LN.Text
Cells(i, 5) = Gen.DD.Text
Cells(i, 6) = Gen.LD.Text
Cells(i, 7) = Gen.NP.Text
Cells(i, 8) = Gen.NM.Text
Cells(i, 9) = Gen.NE.Text
Cells(i, 10) = Gen.DM.Text
Cells(i, 11) = Gen.LM.Text
Cells(i, 12) = Gen.NEN.Text
Cells(i, 13) = Cells(i, 2)
Cells(i, 14) = Gen.SOU.Text
'Décharge le formulaire
Unload Gen
Next i
'trie selon ordre alpha Nom (colonne B)
Cells.Select
Selection.Sort Key1:=Range("B1" ), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("A1:Ni" ).Select
Columns.EntireColumn.AutoFit
End Sub