prob ecrit en dernier au lieu de premier

gao77610

XLDnaute Nouveau
Bonsoir

Voici le script


Private Sub BtEnregist_Click()
Sheets("Client").Activate
Range("A2").Select
trouve = False
Do Until ActiveCell.Value = ""
If ActiveCell.Value = FrmClients.CbNom Then
trouve = True
MsgBox "Ce nom existe Déjà." & Chr(13) & _
"Mettre à jour les informations ?", vbOKOnly + vbInformation, "Attention"

Exit Do
End If
ActiveCell.Offset(1, 0).Select
Loop
If Not trouve Then
MsgBox "Ce nom n'existe pas." & Chr(13) & _
"Enregistrer le nom ?", vbOKOnly + vbQuestion, "Attention"

Sheets("Client").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 0).Select
--> le prob vient surement d'ici mais pas sur
End If
ActiveCell.Offset(0, 0).Select
ActiveCell.Value = CbNom
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = CbTitre
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbPrenom
ActiveCell.Offset(o, 1).Select
ActiveCell.Value = TbAdresse
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = CbVilles
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TBCodePostal
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbDepartement
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbPays
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbTelDom
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbTelBur
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbMobile
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbEmail
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TbCommentaire
ActiveCell.Offset(0, 1).Select
Range("A1").Select
Selection.Sort Key1:=Range("A2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
CbTitre = ""
CbNom = ""
TbPrenom = ""
TbAdresse = ""
CbVilles = ""
TBCodePostal = ""
TbDepartement = ""
TbPays = ""
TbTelDom = ""
TbTelBur = ""
TbMobile = ""
TbEmail = ""
TbCommentaire = ""
CbTitre.SetFocus
BtEnregist.Visible = False
CBSup.Visible = False
End Sub

cela devrait mettre en premiere ligne etainsi de suite, mais cela ecrit toujours sur la derniere ligne

Merci
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : prob ecrit en dernier au lieu de premier

Salut Gao77610,

Avec ton code, si ta première ligne de donnée est vide,
cela va inscrire les valeurs à la fin de la feuille !

Essaye plutôt
Code:
If Not trouve Then
MsgBox "Ce nom n'existe pas." & Chr(13) & _
"Enregistrer le nom ?", vbOKOnly + vbQuestion, "Attention"
 
[COLOR=red]Sheets("Client").Select[/COLOR]
[COLOR=red][COLOR=blue]Range("A" & Rows.count ).End(XlUp).Offset(1,0).Select[/COLOR]
[/COLOR]End If

De plus, il n'est pas nécessaire de sélectionner une cellule pour écrire dedans,
il suffit de décaler la colonne ou de l'inscrire en référence A1

Code:
ActiveCell.Offset(0, 0).Value = CbNom
ActiveCell.Offset(0, 1).Value = CbTitre
ActiveCell.Offset(0, 2).Value = TbPrenom
Ou alors
Code:
' Trouvée la prochaine ligne vide
Lig = [COLOR=#0000ff]Range("A" & Rows.count ).End(XlUp).Offset(1,0).Row[/COLOR]
' Sur cette ligne inscrire les données
Range("A" & Lig).Value = CbNom
Range("B" & Lig).Value = CbTitre
Range("C" & Lig).Value = TbPrenom

A+
 
Dernière modification par un modérateur:

Discussions similaires

Réponses
12
Affichages
716

Statistiques des forums

Discussions
312 563
Messages
2 089 692
Membres
104 257
dernier inscrit
Stane78