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

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
729
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…