FORMULAIRE VBA

[Résolu/Fermé]
Signaler
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016
-
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016
-
Bonjour,

Je n'arrive pas à insérer des données entrées dans un formulaire, que j'ai créé sur vba, à la suite de données existantes sur une même feuille de calcul.

J'ai l'impression d'être obligée de donnée une cellule précise où insérer les données alors que je voudrais que les données s'insèrent juste à la suite.

Merci d'avance pour votre aide

1 réponse

Messages postés
33150
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juillet 2021
3 641
Bonjour,

Sans voir ton code .... difficile de te répondre.....

Mais je pense que tu n'as pas pensé à dérterminer le numéro de la dernière ligne non vide de ton tableau... pour ajouter à la suite .. les nouvelles valeurs...

Donc :
'trouver la dernière ligne du tableau
dernLigne = Range("A" & Rows.Count).End(xlUp).Row

'Ajout à la suite
Cells(dernLigne+1 , 1).value = "nouvelle valeur"



Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016

Bonjour Jordane

J'ai un code un peu bizarre que j'ai essayé de récupérer en ligne :

Private Sub Editer_Click()


Do While fichier
If Sheets(1).Cells(i, 1) <> "" Then
i = 1
Else
Sheets(1).Cells(i, 1) = Fiche_Client.Nom.Value
Sheets(1).Cells(i, 2) = Fiche_Client.Prénom.Value
Sheets(1).Cells(i, 3) = Fiche_Client.Téléphone.Value
Sheets(1).Cells(i, 4) = Fiche_Client.Adresse.Value
Sheets(1).Cells(i, 5) = Fiche_Client.Ville.Value
Sheets(1).Cells(i, 6) = Fiche_Client.Code_Postal.Value
i = i + 1
synthese.Sheets(1).Range ("C" & i & ":H" & i)
Workbooks(fichier).Close
End If
Loop

End Sub


EDIT : Ajout des balises de code
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016

Finalement merci Jordane j'ai refait le code à partir de la base que tu m'as donnée :
Private Sub Editer_Click()

'trouver la dernière ligne du tableau
dernLigne = Range("C" & Rows.Count).End(xlUp).Row

'Ajout à la suite
Cells(dernLigne + 1, 1).Value = Fiche_Client.Nom.Value
Cells(dernLigne + 1, 2).Value = Fiche_Client.Prénom.Value
Cells(dernLigne + 1, 3).Value = Fiche_Client.Téléphone.Value
Cells(dernLigne + 1, 4).Value = Fiche_Client.Adresse.Value
Cells(dernLigne + 1, 5).Value = Fiche_Client.Ville.Value
Cells(dernLigne + 1, 6).Value = Fiche_Client.Code_Postal.Value

End Sub

Ca marche, mais je voudrais décaler les cellules pour qu'elle s'insèrent à la suite mais en colonne C, pas A. Aussi je voudrais que le formulaire disparaisse a la fin de la saisie.

Merci d'avance

Cordialement

Mohja
Messages postés
33150
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juillet 2021
3 641 >
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016


je voudrais décaler les cellules pour qu'elle s'insèrent à la suite mais en colonne C, pas A

Il te suffit de modifier le second argument de Cells(ligne,colonne)
Cells(dernLigne + 1, 3).Value = Fiche_Client.Nom.Value 
Cells(dernLigne + 1, 4).Value = Fiche_Client.Prénom.Value 
'etc....



. Aussi je voudrais que le formulaire disparaisse a la fin de la saisie.

userform1.hide




PS: A l'avenir... merci d'utiliser les balises de code !
=> https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016

Merci beaucoup !
Messages postés
14
Date d'inscription
vendredi 10 juin 2016
Statut
Membre
Dernière intervention
14 juin 2016

Rebonjour

Je voudrais, à partir d'un deuxième formulaire, avoir une liste déroulante qui me permettrais de selectionner un nom dans les noms de la colonne C, puis charger les cellules remplies pour les modifier et en cliquant sur valider je pourrais corriger la ligne en question.

Est ce que vous sauriez comment faire ?

Merci d'avance

Cordialement