problème excel macro VBA Userform

  • Initiateur de la discussion Initiateur de la discussion juju12
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

juju12

Guest
Bonjour,



Je rencontre un soucie sur userform notament au moment de valider. Le but est que a chaque fois que j'appuie sur valider l'ensemble des infos viennent se mettre sur une ligne excel => ceci je suis arriver à le faire. cependant la ligne s'insère au dessous du tableau et j'aimerai que la ligne ajouter s'affiche au dessu.

Merci d'avance!

Voici le code:

Private Sub Bt_Valider_Click()

Dim nr As Integer
If Me.UF_Listcli = "" Or Me.UF_Chantier = "" Or Me.UF_Nom = "" Or Me.UF_Prénom = "" Or Me.UF_Adresse = "" Or Me.UF_Cp = "" Or Me.UF_Ville = "" Or Me.UF_Typecli = "" Or Me.UF_Com = "" Or Me.UF_ListDAS = "" Or Me.UF_Listtrav = "" Or Me.UF_MontTTC = "" Or Me.UF_ListtxTVA = "" Or Me.UF_MontTVA = "" Or Me.UF_MontHT = "" Or Me.UF_Date = "" Or Me.UF_Mois = "" Then

MsgBox "Saisir les champs incomplets"

GoTo Ending
Else

nr = ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(Rows.Count, 1).End(xlUp).Row + 1
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 1) = UF_Chantier
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 2) = UF_Nom
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 3) = UF_Prénom
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 4) = UF_Adresse
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 5) = UF_Cp.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 6) = UF_Ville
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 7) = UF_Typecli
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 8) = UF_Com
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 9) = UF_ListDAS
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 10) = UF_Listtrav
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 11) = UF_MontTTC.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 12) = UF_ListtxTVA.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 13) = UF_MontTVA.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 14) = UF_MontHT.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 15) = UF_Date.Value
ThisWorkbook.Sheets("Nouveaux Chantiers").Cells(nr, 16) = UF_Mois

Me.UF_Listcli = ""
Me.UF_Chantier = ""
Me.UF_Nom = ""
Me.UF_Prénom = ""
Me.UF_Adresse = ""
Me.UF_Cp = ""
Me.UF_Ville = ""
Me.UF_Typecli = ""
Me.UF_Com = ""
Me.UF_ListDAS = ""
Me.UF_Listtrav = ""
Me.UF_MontTTC = ""
Me.UF_ListtxTVA = ""
Me.UF_MontTVA = ""
Me.UF_MontHT = ""
Me.UF_Date = ""
Me.UF_Mois = ""


Me.UF_Listcli.SetFocus

End If
Ending:
End Sub
 
Re : problème excel macro VBA Userform

Bonjour.
Copiez la1ère ligne puis insérez la devant la 2ième, s'il n'y a apparemment pas de vraie mise sous forme de tableau…
et au lieu de lui faire chercher 16 fois la feuille "Nouveaux Chantiers" dans sa collection Sheets, stockez donc d'abord la ligne dans une variable As Range. Ou mieux stockez les valeurs de contrôles dans un petit tableau d'une ligne et 16 colonnes.
 
Dernière édition:
Re : problème excel macro VBA Userform

Merci !

Cela reprend la mise en forme de l'en tête du tableau et j'aimerai que ca reprenne la mise en forme de ma première ligne du tableau et cela ne fonctionne pas 🙁
 
Re : problème excel macro VBA Userform

Je parlais de la première ligne des données de la plage.
Remarque: le procédé n'est pas applicable si la dite plage est mise sous forme de tableau. Du moins en Excel 16. Ce n'est pas grave car il y a alors autre chose à faire: commencer par récupérer le tableau dans une variable As ListObject et par la suite faire un Add sur son ListRows.
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour