Formulaire de commande avec vba

  • Initiateur de la discussion Initiateur de la discussion tim069
  • 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 !

tim069

XLDnaute Nouveau
bonjour à tous

Je suis entrain de créer un fichier client avec un formulaire de commande mais je n'arrive pas à récupérer toutes les infos sur une autre feuille

J'ai donc une feuille ("Commande") et une feuille ("Ventes") j'ai réussi à récupérer les infos qui sont dans le tableau avec les commandes mais je n'arrive pas à créer la suite du code pour récupérer sur chaque ligne le nom de client et la date

Code:
Sub test4()
    Dim t As Variant
    t = Sheets("Commande").Range("Tableau1")
    Sheets("Vente").Cells(Rows.Count, 3).End(xlUp)(2).Resize(UBound(t, 1), UBound(t, 2)) = t

l'idée de la feuille ("Vente") de stocker toutes les ventes
avec client,date,réf. , etc...

Merci pour votre aide
 
Re : Formulaire de commande avec vba

Re

Si je te conseillais de relire la charte, ce n'était pas en vain !!!
5 – La possibilité de joindre des fichiers est donnée sur ce forum. Ne pas hésiter à utiliser cette fonction, tout en veillant que les données soient bidons et donc qu’aucune donnée confidentielle, nominative ne soit dans le fichier.

Donc retires rapidement ton fichier (avant que le modérateur le fasse) et remplace le par un fichier anonyme !
(cf la feuille Recup fichier client qui contient tout sauf des données anonymes! )

NB
: Sinon aucune trace de la macro test4 qui apparait dans ton premier message?
On dirait que tu cherches à cumuler toutes les erreurs à ne pas faire pour un premier message sur le forum (lol)

Suggestion amicale
: Penses aussi à anonymiser ceci:
E*il F**y Gr**p Switzerl**d, et D***n, Vincent (EFAG C****er) dans les propriétés de ton fichier.
 
Dernière édition:
Re : Formulaire de commande avec vba

non mais j'y crois pas le nul ... Je copie mon fichier sous exemple je supprime toutes les infos et je l'envoie ... et sauvegarder les suppressions faites non ???

Merci de me l'avoir fait remarquer

En annexe le fichier sans aucune donnée
 

Pièces jointes

Re : Formulaire de commande avec vba

Re

Malheureusement, ici suis sur un PC soux XL2K3 et ton fichier* génère ceci:
erreur d’exécution 32809

*: j'ai donc du le transformer en *.xls

Je vais devoir faire des tests sur mon propre fichier de test, ce qui sera donc plus long.
Espérons que d'ici là d'autres ici auront pris le relais pour t'aider. 😉
 
Re : Formulaire de commande avec vba

Re


Voir ce que tu peux tirer de ceci
(test ok sur excel 2003)
Code VBA:
Sub test4()
Dim t, u, x&, i%
t = Sheets("Commande").Range("Tableau1").Value
With Sheets("Vente")
x = .Cells(Rows.Count, 3).End(3)(2).Row
'allonge l'array u si besoin
'u = Array("C1", "C2", "C3", "C4", "C6", "C8", "C10")
u = Array("C1", "C10")
For i = LBound(u) To UBound(u)
.Cells(x, i + 1) = Sheets("Commande").Range(u(i))
Next
.Cells(x, 3).Resize(UBound(t, 1), UBound(t, 2)) = t
End With
[TABLEAU1].ClearContents
Sheets("Commande").Range("C1,C10") = Empty
End Sub
 
Re : Formulaire de commande avec vba

salut staple

j'ai testé ton code et il fonctionne à merveille !!! 😉

j'ai juste fait une modif sur la fin du code (afin d'éviter de supprimer les formules dans le tableau)

Par contre je me demande si cela ne serait pas mieux que le nom et la date soit enregistré sur chaque ligne dans le fichier "Vente"
 
Re : Formulaire de commande avec vba

Bonsoir à tous


Tu veux dire comme ceci?
Code:
Sub test4B()
Dim t, j&, x&, z&, xx&
t = Sheets("Commande").Range("Tableau1").Value
j = UBound(t, 1)
With Sheets("Vente")
x = .Cells(Rows.Count, 3).End(3)(2).Row
.Cells(x, 3).Resize(j, UBound(t, 2)) = t
xx = .Cells(Rows.Count, 3).End(3)(2).Row
z = .Cells(Rows.Count, 1).End(3)(2).Row
.Cells(z, 1).Resize(xx - x) = Sheets("Commande").[C1]
.Cells(z, 2).Resize(xx - x) = Sheets("Commande").[C10]
End With
'[TABLEAU1].ClearContents
Sheets("Commande").Range("C1,C10") = Empty
End Sub
 
Re : Formulaire de commande avec vba

Salut c'est parfait exactement ce que je cherchais à faire !!!

Je vais analyser ton code pour essayer de le comprendre (histoire que la prochaine fois j'y arrive tout seul 😉 )

Merci en tout cas pour ton aide
 
- 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

Discussions similaires

Réponses
16
Affichages
742
Réponses
1
Affichages
409
Retour