Excel
Résolu/Fermé
oldermeta
Messages postés
3
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
2 juillet 2015
-
2 juil. 2015 à 12:45
oldermeta - 9 juil. 2015 à 18:05
oldermeta - 9 juil. 2015 à 18:05
A voir également:
- Excel
- Liste déroulante excel - Guide
- Si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer une colonne excel - Guide
- Aller à la ligne excel - Guide
8 réponses
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
2 juil. 2015 à 14:26
2 juil. 2015 à 14:26
Bonjour,
Ce que tu veux faire c'est une boucle.
Je ne suis pas trop sûr de ce que tu veux vraiment faire avec ton code alors je fourni un lien vers tout ce que tu as besoin de savoir pour faire des boucles.
https://www.excel-pratique.com/fr/vba/boucles.php
Bonne lecture
Ce que tu veux faire c'est une boucle.
Je ne suis pas trop sûr de ce que tu veux vraiment faire avec ton code alors je fourni un lien vers tout ce que tu as besoin de savoir pour faire des boucles.
https://www.excel-pratique.com/fr/vba/boucles.php
Bonne lecture
oldermeta
Messages postés
3
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
2 juillet 2015
2 juil. 2015 à 14:51
2 juil. 2015 à 14:51
Au fait je suis entrain de faire un projet de dotation de carburant, j'ai 6 champ de A à F, la colonne A je l'ai sous forme de liste deroulante, Ya que les colonnes E et F qui ne sont pas remplis car ils dépendent de la liste déroulante A, maintenant je voudrais qu'après avoir enregistrer les données à E2 et F2 que les prochaines données données que je vais enregistrer saute sur E3 et F3, je ne sais pas si vous m'avez compris ou vous me donnez votre mail je vous envoie une capture
Merci
Merci
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
2 juil. 2015 à 15:20
2 juil. 2015 à 15:20
Re-bonjour
L'idéal serait de fournir votre fichier pour que l'on puisse mieux comprendre.
Pour joindre un fichier sur le forum, il faut utiliser un site externe https://www.cjoint.com/ et ensuite écrire le lien vers le fichier dans ce topic. tel que expliqué ici
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Enlever toute information confidentielle du fichier au préalable.
L'idéal serait de fournir votre fichier pour que l'on puisse mieux comprendre.
Pour joindre un fichier sur le forum, il faut utiliser un site externe https://www.cjoint.com/ et ensuite écrire le lien vers le fichier dans ce topic. tel que expliqué ici
https://www.commentcamarche.net/faq/29493-utiliser-cjoint-pour-heberger-des-fichiers
Enlever toute information confidentielle du fichier au préalable.
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par PlacageGranby le 2/07/2015 à 17:19
Modifié par PlacageGranby le 2/07/2015 à 17:19
En regardant votre code.
Disons que la colonne E va de la ligne 1 à la ligne 30, derligne va donner 30 - 24 donc 6.
Ce qu'il faudrait c'est enlever le -24
Comme ca, si la dernière ligne est la 30, il va écrire dans la ligne 30 +1, donc la prochaine.ligne vide.
derligne = Sheets("DOTATION_CARBURANT").Range("E456541").End(xlUp).Row - 24
Disons que la colonne E va de la ligne 1 à la ligne 30, derligne va donner 30 - 24 donc 6.
Ce qu'il faudrait c'est enlever le -24
derligne = Sheets("DOTATION_CARBURANT").Range("E456541").End(xlUp).Row Cells(derligne + 1, 5) = Avancedotation.Value Cells(derligne + 1, 6) = Restant.Value
Comme ca, si la dernière ligne est la 30, il va écrire dans la ligne 30 +1, donc la prochaine.ligne vide.
oldermeta
Messages postés
3
Date d'inscription
jeudi 2 juillet 2015
Statut
Membre
Dernière intervention
2 juillet 2015
2 juil. 2015 à 17:52
2 juil. 2015 à 17:52
Merci PlacageGranby j'ai enlevé le -24 mais ca commence de 24+1 car jai 24 ligne, regardez ce lien vous aurez une apercue du fichier https://www.cjoint.com/c/EGcpub8DptY
la colonne E (AVANCE DE DOTATION) et la colonne F (RESTANT) vont de 1 à 24, ils sont vide car c'est les seuls infos à ajouter.
Si je pars sur N° D'ORDRE et que je click sur 1 qui est équivalent a DG il charge automatiquement les infos STRUCTURE, QUANTITE ET NATURE.
Après j'insere la valeur de l' AVANCE SUR DOTATION et il va calculer le RESTANT. APrés si je click sur valider il calcule le RESTANT et si je click sur enregistrer il l'insère dans la feuille excel.
Maintenant je veux qu'à chaque fois que je click sur un N° D'ORDRE et que je mets une AVANCE DOTATION il l'insere directement sur la meme ligne.
Je ne sais pas si vous me comprenez et encore dsl du dérangement
la colonne E (AVANCE DE DOTATION) et la colonne F (RESTANT) vont de 1 à 24, ils sont vide car c'est les seuls infos à ajouter.
Si je pars sur N° D'ORDRE et que je click sur 1 qui est équivalent a DG il charge automatiquement les infos STRUCTURE, QUANTITE ET NATURE.
Après j'insere la valeur de l' AVANCE SUR DOTATION et il va calculer le RESTANT. APrés si je click sur valider il calcule le RESTANT et si je click sur enregistrer il l'insère dans la feuille excel.
Maintenant je veux qu'à chaque fois que je click sur un N° D'ORDRE et que je mets une AVANCE DOTATION il l'insere directement sur la meme ligne.
Je ne sais pas si vous me comprenez et encore dsl du dérangement
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
2 juil. 2015 à 19:03
2 juil. 2015 à 19:03
Re-Bonjour,
Je crois que c'est finalement avec la méthode FIND que vous allez réussir a faire ce que vous voulez.
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Il faut adapter l'exemple présent au milieu de ce lien.
Valeur_Cherchee sera égale à la valeur de votre liste déroulante des N° D'ORDRE
On peut ensuite extraire la ligne correspondant au N° D'ORDRE, ce sera trouve.row
et finalement assigner les colonnes E et F de la ligne correspondante.
Cells(trouve.row, 5) = Avancedotation.Value
Cells(trouve.row, 6) = Restant.Value
Je crois que c'est finalement avec la méthode FIND que vous allez réussir a faire ce que vous voulez.
https://forums.commentcamarche.net/forum/affich-37621992-methode-find-dans-vba-recherche-de-donnees-sous-excel
Il faut adapter l'exemple présent au milieu de ce lien.
Valeur_Cherchee sera égale à la valeur de votre liste déroulante des N° D'ORDRE
On peut ensuite extraire la ligne correspondant au N° D'ORDRE, ce sera trouve.row
et finalement assigner les colonnes E et F de la ligne correspondante.
Cells(trouve.row, 5) = Avancedotation.Value
Cells(trouve.row, 6) = Restant.Value
Re-bonjour Granby, dsl pour le retard je voulais prendre un peu de tps pour y réfléchir plus. J'ai vérifié le méthode find ça m'a semblé très cohérent avec ce que je veux, mais aprés l'avoir adapté il me notifie le msg d'erreur End Sub attendu
voici comment je l'ai intégré dans le boutton enregistrer
Private Sub CommandButton2_Click()
Sub Cherche()
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
Valeur_Cherchee = "Trouve"
Set PlageDeRecherche = ActiveSheet.Columns(1)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
derligne = Sheets("DOTATION_CARBURANT").Range("E456541").End(xlUp).Row - 24
Cells(Trouve.Row, 5) = Avancedotation.Value
Cells(Trouve.Row, 6) = Restant.Value
MsgBox (" ENREGISTRER")
TextBox1.Text = ""
TextBox2.Text = ""
Avancedotation = ""
Restant = ""
End Sub
voici comment je l'ai intégré dans le boutton enregistrer
Private Sub CommandButton2_Click()
Sub Cherche()
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As String, AdresseTrouvee As String
Valeur_Cherchee = "Trouve"
Set PlageDeRecherche = ActiveSheet.Columns(1)
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
Set PlageDeRecherche = Nothing
Set Trouve = Nothing
derligne = Sheets("DOTATION_CARBURANT").Range("E456541").End(xlUp).Row - 24
Cells(Trouve.Row, 5) = Avancedotation.Value
Cells(Trouve.Row, 6) = Restant.Value
MsgBox (" ENREGISTRER")
TextBox1.Text = ""
TextBox2.Text = ""
Avancedotation = ""
Restant = ""
End Sub
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
6 juil. 2015 à 14:22
6 juil. 2015 à 14:22
Bonjour
Vous ne pouvez pas ouvrir deux fonctions comme cela.
vous avez la sub commandbutton2 et la sub Cherche,
et un seul End Sub à la fin.
Supprimer la ligne Sub Cherche()
Vous ne pouvez pas ouvrir deux fonctions comme cela.
vous avez la sub commandbutton2 et la sub Cherche,
Private Sub CommandButton2_Click() Sub Cherche()
et un seul End Sub à la fin.
Supprimer la ligne Sub Cherche()
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je l'ai supprimé maintenant si j'execute il me dit que Trouve n'est pas présent dans $A $A; j'ai essayé de remplacer Trouve par N° D'ORDRE mais ca bug toujours avec cette ligne : Trouve = Sheets("DOTATION_CARBURANT").Range("E456541").End(xlUp).Row
Merci pour votre attention
Merci pour votre attention
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
8 juil. 2015 à 19:13
8 juil. 2015 à 19:13
Re-bonjour,
Dans un message précédent, j'avais demandé de mettre en lien votre fichier excel.
Vous avez mis un liens vers une image.
Avec le fichier Excel, il serait beaucoup plus facile de débuggé votre macro.
Enlevez toute données confidentielles à priori.
Dans un message précédent, j'avais demandé de mettre en lien votre fichier excel.
Vous avez mis un liens vers une image.
Avec le fichier Excel, il serait beaucoup plus facile de débuggé votre macro.
Enlevez toute données confidentielles à priori.
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
8 juil. 2015 à 22:25
8 juil. 2015 à 22:25
Dans le premier exemple.
Votre variable derligne n'est pas utilisé
L'utilité de derligne est de définir quel est la plage ou l'on cherche les données.
Set PlageDeRecherche = ActiveSheet.Columns(1)
Votre plage de recherche est la colonne en entier.
C'est ok, mais on peut définir la zone de facon précise comme Range("A5:A"&derligne)
Votre variable Valeur_Cherchee = "Trouve"
Valeur_cherchee devrait correspondre au no d'ordre.
Vous choisisez le no d'ordre à l'aide d'un combobox. donc il faut mettre
Valeur_cherchee = lenomducombobox.text
On utilise find pour assigner dans la variable trouve la zone ou la valeur_cherchée est trouvée dans votre PlageDeRecherche.
Donc trouve.row retourne la ligne de la zone trouvé.
Cela est en théorie, il m'est impossible de tester sans votre fichier excel.
Votre variable derligne n'est pas utilisé
L'utilité de derligne est de définir quel est la plage ou l'on cherche les données.
Set PlageDeRecherche = ActiveSheet.Columns(1)
Votre plage de recherche est la colonne en entier.
C'est ok, mais on peut définir la zone de facon précise comme Range("A5:A"&derligne)
Votre variable Valeur_Cherchee = "Trouve"
Valeur_cherchee devrait correspondre au no d'ordre.
Vous choisisez le no d'ordre à l'aide d'un combobox. donc il faut mettre
Valeur_cherchee = lenomducombobox.text
On utilise find pour assigner dans la variable trouve la zone ou la valeur_cherchée est trouvée dans votre PlageDeRecherche.
Donc trouve.row retourne la ligne de la zone trouvé.
Cela est en théorie, il m'est impossible de tester sans votre fichier excel.
Re-Bonjour PlacageGranby ,
voici le lien http://www.cjoint.com/c/EGjiCpJ3NoY
j'ai désactivé les données confidentielles, si vous accedez dans la feuille c'est le userforme 1, vous pouvez voir le tout dans son ensemble pour constater s'il n'y a pas autre chose a améliorer, vraiment merci encore de votre disponibilité
voici le lien http://www.cjoint.com/c/EGjiCpJ3NoY
j'ai désactivé les données confidentielles, si vous accedez dans la feuille c'est le userforme 1, vous pouvez voir le tout dans son ensemble pour constater s'il n'y a pas autre chose a améliorer, vraiment merci encore de votre disponibilité
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
9 juil. 2015 à 14:23
9 juil. 2015 à 14:23
Bon Matin
Voici le fichier Excel : https://www.cjoint.com/c/EGjmuA3uPBP
J'ai mis le code pour votre bouton "Enregistrer" de votre Userform1
Voici le fichier Excel : https://www.cjoint.com/c/EGjmuA3uPBP
J'ai mis le code pour votre bouton "Enregistrer" de votre Userform1
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
9 juil. 2015 à 14:49
9 juil. 2015 à 14:49
Je viens de réaliser en regardant les autres Userform que vous devez assigner plusieurs No d'ordre avant de fermer le Userform1.
Voici le nouveau lien pour ne pas fermer Userform1 tout de suite après l'enregistrement
https://www.cjoint.com/c/EGjmJ1OzpjP
Voici le nouveau lien pour ne pas fermer Userform1 tout de suite après l'enregistrement
https://www.cjoint.com/c/EGjmJ1OzpjP
oldermeta
>
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
9 juil. 2015 à 15:11
9 juil. 2015 à 15:11
Trés bien, vous avez bien fait
Sinon j'aimerai aussi que vous jetiez un coup d'oeil sur la feuille RESTANT COMMANDE et FACTURE, quand la feuille est vide si j'ajoute les données et que jenregistre ca s'enregistre a partir de la 2èm ligne et non dans la premiere ligne
Sinon j'aimerai aussi que vous jetiez un coup d'oeil sur la feuille RESTANT COMMANDE et FACTURE, quand la feuille est vide si j'ajoute les données et que jenregistre ca s'enregistre a partir de la 2èm ligne et non dans la premiere ligne
voici mon mail ***@***, si vous pouvez m'y envoyez un msg aussi ca me ferai plaisir pour que je puisse avoir le votre
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
9 juil. 2015 à 14:27
9 juil. 2015 à 14:27
Bonjour,
Il est possible d'envoyer des message privé via le forum.
Il est préférable de ne pas diffuser son courriel publiquement.
Par contre, les solutions exposées dans le forum sont souvent utiles pour d'autre personnes ayant un problème similaire.
En autant que les données confidentielles ait été retirées des fichiers Excel, les conversations d'aide devrait être publiques.
Il est possible d'envoyer des message privé via le forum.
Il est préférable de ne pas diffuser son courriel publiquement.
Par contre, les solutions exposées dans le forum sont souvent utiles pour d'autre personnes ayant un problème similaire.
En autant que les données confidentielles ait été retirées des fichiers Excel, les conversations d'aide devrait être publiques.
En tout cas je ne vous remercierai jamais assez, c'est la première fois que je fréquente ce forum mais je viens de comprendre que le sens du partage de la connaissance existe réellement ici. Vous avez réglez mon problème majeur.
Sinon j'aimerai aussi que vous jetiez un coup d'oeil sur la feuille restant commnde et facture, quand la feuille est vide si j'ajoute les données et que jenregistre ca s'enregistre a partir de la 2èm ligne et non dans la premiere ligne
Sinon j'aimerai aussi que vous jetiez un coup d'oeil sur la feuille restant commnde et facture, quand la feuille est vide si j'ajoute les données et que jenregistre ca s'enregistre a partir de la 2èm ligne et non dans la premiere ligne
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
Modifié par PlacageGranby le 9/07/2015 à 15:15
Modifié par PlacageGranby le 9/07/2015 à 15:15
Re-Bonjour,
En toute honnêteté, je ne suis pas le meilleur en programmation VBA mais je me débrouille.
J'ai constaté le problème, et je suis resté un peu surpris.
J'ai compris que ta feuille n'était pas vide, elle contient un tableau.
J'ai pris le coin inférieur droit du tableau et je l'ai aggrandi jusqu'a la ligne 29.
J'ai re-testé l'ajout et en effet, les données se sont placé à la ligne 30.
Donc, notre code pour trouver la dernière ligne compte un tableau comme une zone "réservée" si on peut dire.
Ce que l'on veut, c'est ajouter la ligne à l'intérieur du tableau, et non pas à la suite du tableau. Donc j'ai tout simplement écrit " VBA ajout de données dans un tableau".
Dans la liste de réponse j'ai trouver le lien suivant :
http://www.excelabo.net/excel/tableaux_vba
On prend l'exemple du code dans ce tutoriel, et on l'adapte à nos besoins.
L'exemple est après la section
Modification de la table en utilisant un formulaire pour la saisie des données
Je te laisse expérimenter un peu, et si tu bloque sur une ligne de code, je pourrais t'aider.
En toute honnêteté, je ne suis pas le meilleur en programmation VBA mais je me débrouille.
J'ai constaté le problème, et je suis resté un peu surpris.
J'ai compris que ta feuille n'était pas vide, elle contient un tableau.
J'ai pris le coin inférieur droit du tableau et je l'ai aggrandi jusqu'a la ligne 29.
J'ai re-testé l'ajout et en effet, les données se sont placé à la ligne 30.
Donc, notre code pour trouver la dernière ligne compte un tableau comme une zone "réservée" si on peut dire.
Ce que l'on veut, c'est ajouter la ligne à l'intérieur du tableau, et non pas à la suite du tableau. Donc j'ai tout simplement écrit " VBA ajout de données dans un tableau".
Dans la liste de réponse j'ai trouver le lien suivant :
http://www.excelabo.net/excel/tableaux_vba
On prend l'exemple du code dans ce tutoriel, et on l'adapte à nos besoins.
L'exemple est après la section
Modification de la table en utilisant un formulaire pour la saisie des données
Je te laisse expérimenter un peu, et si tu bloque sur une ligne de code, je pourrais t'aider.
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
9 juil. 2015 à 15:23
9 juil. 2015 à 15:23
Je me demandais quel était le nom du tableau.
si tu clique à l'intérieur du tableau, tu aura le menu outils de tableau qui s'affiche.
Dans le sous-menu création, tu as dans la première option à gauche le choix pour renommer le tableau (ou voir son nom actuel).
Au début, j'avais été dans l'enregistreur de macro, j'enregistrais et j'ai agrandi le tableau.
Le code m'a appris qu'il s'appelait tableau2. Mais je me disais qu'il y avait surement une façon plus "élégante" de faire. J'utilise rarement les tableau dans Excel.
si tu clique à l'intérieur du tableau, tu aura le menu outils de tableau qui s'affiche.
Dans le sous-menu création, tu as dans la première option à gauche le choix pour renommer le tableau (ou voir son nom actuel).
Au début, j'avais été dans l'enregistreur de macro, j'enregistrais et j'ai agrandi le tableau.
Le code m'a appris qu'il s'appelait tableau2. Mais je me disais qu'il y avait surement une façon plus "élégante" de faire. J'utilise rarement les tableau dans Excel.
oldermeta
>
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
9 juil. 2015 à 16:16
9 juil. 2015 à 16:16
Ca a marché j'ai adapté le code avec quelque modif et ca va pour la feuille RESTANTCOMMANDE (userform2) et la feuille AJOUT COMMANDE(userform3) mais la pour la feuille Facture(userform4) il me di qu'il ya un bug sur: Set LR = Selection.ListObject.ListRows.Add(AlwaysInsert:=True) alors que le meme code marche pour les autres
le voici en entier
Private Sub CommandButton1_Click()
Dim LR As ListRow
If MsgBox("Confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then
derligne = Sheets("FACTURE").Range("A456541").End(xlUp).Row + 1
Set LR = Selection.ListObject.ListRows.Add(AlwaysInsert:=True)
LR.Range.Cells(1, 1) = TextBox1.Value
LR.Range.Cells(1, 2) = TextBox2.Value
LR.Range.Cells(1, 3) = TextBox3.Value
LR.Range.Cells(1, 4) = TextBox4.Value
LR.Range.Cells(1, 5) = TextBox5.Value
LR.Range.Cells(1, 6) = TextBox6.Value
LR.Range.Cells(1, 7) = lblprixunitaire.Value
LR.Range.Cells(1, 8) = prixtotalht.Value
LR.Range.Cells(1, 9) = maindoeuvre.Value
LR.Range.Cells(1, 10) = Totalnetht.Value
LR.Range.Cells(1, 11) = tva.Value
LR.Range.Cells(1, 12) = totalttc.Value
End If
End Sub
le voici en entier
Private Sub CommandButton1_Click()
Dim LR As ListRow
If MsgBox("Confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then
derligne = Sheets("FACTURE").Range("A456541").End(xlUp).Row + 1
Set LR = Selection.ListObject.ListRows.Add(AlwaysInsert:=True)
LR.Range.Cells(1, 1) = TextBox1.Value
LR.Range.Cells(1, 2) = TextBox2.Value
LR.Range.Cells(1, 3) = TextBox3.Value
LR.Range.Cells(1, 4) = TextBox4.Value
LR.Range.Cells(1, 5) = TextBox5.Value
LR.Range.Cells(1, 6) = TextBox6.Value
LR.Range.Cells(1, 7) = lblprixunitaire.Value
LR.Range.Cells(1, 8) = prixtotalht.Value
LR.Range.Cells(1, 9) = maindoeuvre.Value
LR.Range.Cells(1, 10) = Totalnetht.Value
LR.Range.Cells(1, 11) = tva.Value
LR.Range.Cells(1, 12) = totalttc.Value
End If
End Sub
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
26
>
oldermeta
9 juil. 2015 à 16:43
9 juil. 2015 à 16:43
Re-bonjour,
Il serait préférable d'utiliser la coloration syntaxique.
Vous sélectionnez votre code VBA, et ensuite en haut a droite de votre message, un clic sur la petite flèche noire, et sélectionnez basic ( le code sera colorié comme étant du langage visual basic et sera beaucoup plus facile à lire).
Aussi, si une ligne n'est plus utilisé, il est préférable de la mettre en commentaire.
(comme j'ai fait pour derligne)
Il serait préférable d'utiliser la coloration syntaxique.
Vous sélectionnez votre code VBA, et ensuite en haut a droite de votre message, un clic sur la petite flèche noire, et sélectionnez basic ( le code sera colorié comme étant du langage visual basic et sera beaucoup plus facile à lire).
Private Sub CommandButton1_Click() Dim LR As ListRow If MsgBox("Confirmez-vous l'ajout des données?", vbYesNo, "confirmation") = vbYes Then 'derligne = Sheets("FACTURE").Range("A456541").End(xlUp).Row + 1 Range("Tableau3").Select '<- Il vous manquait cette ligne. Set LR = Selection.ListObject.ListRows.Add(AlwaysInsert:=True) 'Avant d'utiliser selection, il faut avoir un select LR.Range.Cells(1, 1) = TextBox1.Value LR.Range.Cells(1, 2) = TextBox2.Value LR.Range.Cells(1, 3) = TextBox3.Value LR.Range.Cells(1, 4) = TextBox4.Value LR.Range.Cells(1, 5) = TextBox5.Value LR.Range.Cells(1, 6) = TextBox6.Value LR.Range.Cells(1, 7) = lblprixunitaire.Value LR.Range.Cells(1, 8) = prixtotalht.Value LR.Range.Cells(1, 9) = maindoeuvre.Value LR.Range.Cells(1, 10) = Totalnetht.Value LR.Range.Cells(1, 11) = tva.Value LR.Range.Cells(1, 12) = totalttc.Value End If End Sub
Aussi, si une ligne n'est plus utilisé, il est préférable de la mettre en commentaire.
(comme j'ai fait pour derligne)
oldermeta
>
PlacageGranby
Messages postés
393
Date d'inscription
mercredi 26 mars 2014
Statut
Membre
Dernière intervention
7 mars 2019
9 juil. 2015 à 16:56
9 juil. 2015 à 16:56
Je comprends, ça marche maintenant un très grand merci
dans la feuille RESTANT COMMANDE il y'a un commande bouton inutile qui s'affiche c'est moi qui l'avez ajouter depuis le début par erreur mais il refuse de se supprimer
vous n'y avez pas une idée
dans la feuille RESTANT COMMANDE il y'a un commande bouton inutile qui s'affiche c'est moi qui l'avez ajouter depuis le début par erreur mais il refuse de se supprimer
vous n'y avez pas une idée