![]() |
|
Forum
|
|
|||||||
![]() |
|
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
Dans mon classeur j'ai plusieurs feuilles.
J'ai créé une macro qui prends des valeurs dans les quatre premières pour les mettre en page dans une cinquième. Pour chaque feuille j'ai pris les valeurs sur la ligne 1. Tout fonctionne parfaitement. ![]() Tout devient beaucoup plus compliqué lorsque je regarde les 180 autres lignes qui attendent que je leur crée la même macro.... ![]() Mon manque de connaissances en VBA n'empêche en effet d'automatiser l'utilisation de la 1er macro comme modèle pour lancer les macros des différentes lignes. (pour m'éviter de la recopier 180 fois) j'espère que j'ai été assez clair... J'attends vos coup de pouce ![]() Merci d'avance |
|
|
|
| ANNONCES | |||
|
|
|
|
#3 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
re
Voila, je donne le code excel (mon fichier entier est trop gros). Les 4 premières feuilles font référence a 4 cuistots et a leur ventes. La troisième est la pour m'aider a manipuler mes macros. La facture du client est faite dans la 5 ème. La 6eme feuille sert d'archive a la compta. j'ai dû moi même prendre le classeur tel quel ( a part la feuille traitement et les macros) Je suis ultra novice en VBA et vous comprendrez en regardant mon code. Je l'ai constituer en collant des petits bout de macros enregistrés grâce a l'outil d'Excel "enregistrer une macro". j'ai du ruser pour pallier a mes lacunes en programmation. Le code n'est pas beau , jen suis sur mais il fonctionne. mais revenons a mon "problème"....je veux utiliser cette macro comme modèle pour créer (a la demande et pas tout en même temps) les factures des autres clients. MERCI Code:
Sub edition_facture()
'Je copie 3 lignes de la 1ere feuilles pour les placé dans la feuille traitement (collage special)
Sheets("Lefevre").Select
Range("C1:K3,C5:K5").Select
Range("C5").Activate
Selection.Copy
Sheets("traitement").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
' je fais la meme copie dans la feuille suivante
Sheets("Carpentier").Select
Range("C1:K3,C5:K5").Select
Range("C5").Activate
Selection.Copy
Sheets("traitement").Select
'mais cette fois je copie 9 colonnes plus loin.
Range("J1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("Bytebier").Select
Range("C1:K3,C5:K5").Select
Range("C5").Activate
Selection.Copy
Sheets("traitement").Select
Range("S1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
Sheets("Nedelec").Select
Range("C1:K3,C5:K5").Select
Range("C5").Activate
Selection.Copy
Sheets("traitement").Select
Range("AB1").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=True, Transpose:=False
'j'ai des colonnes completement vides dans "traitement" jes les supprimes grace à bhbh (XLDL)
Sheets("traitement").Select
Range(Cells(4, 1), Cells(4, [IV1].End(xlToLeft).Column)).SpecialCells(xlCellTypeBlanks).EntireColumn.Delete
'je selectionne ce dont jai besoin dans "traitement" pour créer "facture"
Range("A1:S4").Select
Selection.Copy
Sheets("Facture").Select
Range("B6").Select
'collage spécial
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=True
Range("A1").Select
Sheets("traitement").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A1").Select
Sheets("Facture").Select
End Sub
'jai ma belle facture.
|
|
|
|
|
|
#5 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
super...!!ça donne vraiment envie de comprendre comment ça marche tout ça... ![]() Je crois que ça ne marche pas avec le client 1. Après il y aura une amélioration pour ce premier jet. En effet une fois la facture éditée toutes les chiffres contenus dans les lignes du client (dans chaque feuilles cuistot) doivent être supprimées. La seule trace qu'il doit rester de ses achats se trouve dans une autre feuille destinée a la compta. elle enregistre, en temps réel, la somme des totaux de la colonne L de chaque feuille cuistot pour chaque client. (cette feuille fonctionne parfaitement dans mon document original) C'est d'ailleurs a partir de cette feuille que de devrait pouvoir lancer l'édition de facture. Il faut donc que tu m'expliques comment déplacer la "boite-formulaire". Merci, merci, merci... |
|
|
|
|
|
#6 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 3 142
|
Re-,
Citation:
![]() chez moi, j'ai fait les essais avec, justement, il n'y avait que lui qui consommait.... ![]() J'avais déjà pensé à la suppression du client, une fois la facture éditée, mais un autre "client" ![]() (et c'est peu de le dire, regarde le fil ICI, avec humour, bien sûr) m'a un peu accaparé ce soirPour la dernière, je pense que tu devrais joindre le document avec cette feuille récap, afin que je puisse voir la structure. Si tu ne peux pas la joindre sur le site, je t'enverrai mon adresse mail via message privé, ainsi, je pourrai le mettre ici pour que tout le monde en profite, et puisse l'améliorer |
|
|
|
|
|
|
#7 (permalink) | |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
J'ai lu... l'autre fil et ta patience et ton altruisme m'impressionnent
![]() Citation:
Pas de problème.... ![]() j'attends ton mail |
|
|
|
|
|
|
#9 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
je sais pas ce qu'il ce passe... chez moi ca plante.
"Erreur 1004. La méthode PasteSpecial de la classe Range a échoué" .. je lance le debogage et la il me surligne en jaune "Range("B6").PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _ xlNone, Transpose:=True" |
|
|
|
|
|
#10 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 3 142
|
Re-,
chez moi aussi, ça buggue, j'avais pas essayé.... ![]() en haut du code, mets cette ligne (en rouge) Code:
Dim i As Integer, sh, Nom As Range, Lig As Integer
Sheets("Facture").Range("B6:E24").ClearContents
Sheets("traitement").Select
Code:
Range("B6:E24").ClearContents
J'ai enlevé les formules dans la feuille "total", c'est le code qui écrit à l'intérieur |
|
|
|
|
|
#11 (permalink) |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 3 142
|
Re-,
encore une petite erreur (des rajouts de dernière minute qui n'ont pas été testés) remplace tout le bloc Code:
If Not Nom Is Nothing Then
Lig = Nom.Row
.Range("C1:K3").Copy Cells(1, i)
.Range(.Cells(Lig, 3), .Cells(Lig, 8)).Copy Cells(4, i)
.Range(.Cells(Lig, 3), .Cells(Lig, 8)).ClearContents
Sheets("total").Cells(Lig, j).Value = .Cells(Lig, 10).Value
End If
Code:
If Not Nom Is Nothing Then
Lig = Nom.Row
.Range("C1:K3").Copy Cells(1, i)
.Range(.Cells(Lig, 3), .Cells(Lig, 8)).Copy Cells(4, i)
Sheets("total").Cells(Lig, j).Value = .Cells(Lig, 10).Value
.Range(.Cells(Lig, 3), .Cells(Lig, 8)).ClearContents
End If
|
|
|
|
|
|
#12 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
super....
![]() ![]() ca marche impecablement bien. MERCI Je vais essayer de déplacer le bouton de lancement du userform sur une autre feuille et aussi de créer un indicateur visuel pour prevenir de la nécessité de créer une facturette a cause de la taille restreinte du tableau.(19 achats par facturette) laisse moi faire....je te tiens au courant ![]() |
|
|
|
|
|
#13 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
bonjour,
j'ai executer l'userform en indiquant par erreur le nom d'un client qui n'avait rien acheter...ca ne m'a pas remplie la facture (normal) mais par contre ca efface les fonctions de sa ligne dans la feuille "total"
__________________
je comprends vite mais faut m'expliquer longtemps
|
|
|
|
|
|
#14 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: juin 2007
Version Excel : Excel 2003 (PC)
Messages: 3 142
|
Re,
tu lis tout ce que je mets???? ![]() ![]() ![]() ![]() Citation:
par contre fais des essais avec des noms, et dis si cela fonctionne! |
|
|
|
|
|
|
#15 (permalink) |
|
XLDnaute Nouveau
Date d'inscription: novembre 2007
Localisation: amiens
Version Excel : Excel 2007 (PC)
Messages: 33
|
en fait les fonction sont effacée meme pour les consommateurs...
![]()
__________________
je comprends vite mais faut m'expliquer longtemps
|
|
|
|
| ANNONCES | |
![]() |
|
| Liens sociaux |
| Outils de la discussion | |
|
|
Discussions similaires
|
||||
| Discussion | Auteur | Forum | Réponses | Dernier message |
| execution d'une macro... | nada | Forum Excel | 4 | 14/08/2007 15h24 |
| Selection d'une ligne en fonction de la valeur d'une cellule | Chris | Forum Excel Downloads - Archives | 6 | 10/11/2004 11h00 |
| Pb/ exécution pas à pas d'une macro | loic38 | Forum Excel Downloads - Archives | 1 | 14/09/2004 10h53 |
| Execution d'une macro | fabien | Forum Excel Downloads - Archives | 1 | 11/08/2004 09h48 |
| Execution conditionnelle d'1 macro en fonction d'une cellule de Excel | Sabrina75 | Forum Excel Downloads - Archives | 4 | 29/11/2003 23h44 |