Faire un choix entre deux feuilles selon le contenu d'une cellule

Résolu/Fermé
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 - 26 nov. 2020 à 17:53
 Simkmil - 29 nov. 2020 à 08:56
Bonjour,
Je reviens encore une fois vers vous car ce forum est vraiment parfait pour moi, à chaque fois, j'y trouve les réponses à mes questions.

Bon voici mon problème :
J'ai un dossier avec plusieurs feuilles
j'introduis des éléments dans la feuille 1 et certains de ces éléments doivent être recopiés sur d'autre(s) feuilles(s). Jusque là, ok tout est fait en VBA.
Mais, j'ai une donnée en feuille 1, cellule A3 qui fait que selon son contenu, mes données devront être recopiées en feuille 2 ou feuille 3 ou feuille 4

je pensais à un if...then, mais je ne sais pas que placer après le IF
ma ligne Sheets("Magasin1").range("A"&ligne").value =sheets("Bon de Commande").range("E1").value

et c'est ici que je voudrais que le nom "Magasin1" soit remplacé par une référence a la feuille où il doit aller (donc, ici en magasin1 ou magasin2 ou magasin3)

merci de votre aide


Configuration: Windows / Chrome 87.0.4280.66
A voir également:

15 réponses

yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
26 nov. 2020 à 18:19
bonjour,
entre le IF et le THEN, ou après le THEN?
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
26 nov. 2020 à 18:23
peut-être, en supposant que "feuille 1" soit vraiment le nom de la feuille:
dim magasin as string
magasin=sheets("feuille 1").[A3]
Sheets(magasin).range("A"&ligne").value =sheets("Bon de Commande").range("E1").value    
0
Merci de votre reponse aussi rapide.
C'est presque cela, mais ...
Ma première feuille se nomme bon de commande et en A3 j'ai le nom de plusieurs succursales (en liste déroulante). Ensuite, j'ai une feuille qui porte le nom de la succursale ( une feuille par succursale)
Le bon De commande est commun à toutes les succursales.
J'ai également une feuille historique des commandes, une feuille financements qui donnent une idée de ce qui se passe dans chaque succursale.
Sur la feuille du nom de la succursale, je dois inscrire une partie des données du bon de commande, cela fait plus ou moins 15 lignes de Vba.
Donc en résumé je voudrais que si en A3 du bon de commande j'ai "Ans" mes instructions devant aller sur la feuille succursale iront dans la feuille "Ans" et si sur mon BC j'ai en A3 "Dinant" mes données vont dans la feuille "Dinant".
Comme cela fait plusieurs fois que vous m'aidez sur ce problème, je peux aussi vous envoyer le fichier complet.
Je vous remercie pour votre aide.
Ps: votre pseudo se terminant par be, seriez vous de notre beau pays ?
Bonne soirée
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
26 nov. 2020 à 19:09
nous sommes en effet du même beau pays!

alors peut-être ainsi:
dim magasin as string
magasin=sheets("bon de commande").[A3]
Sheets(magasin).range("A"&ligne").value =sheets("Bon de Commande").range("E1").value
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
26 nov. 2020 à 19:52
ça me semble parfait !
je vais essayer.
si je comprends, je donne le nom de ce qui se trouve en A3 à "Magasin"
ensuite, je choisis la feuille qui porte ce nom ...
Super
j'essaie de suite.
Merci
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024
26 nov. 2020 à 20:08
tu mets dans la variable nommée magasin le contenu d'une cellule
et puis tu utilises cette variable pour déterminer dans quelle feuille tu veux travailler

ceci fonctionnerait aussi, mais me semble beaucoup moins clair, surtout si tu as plusieurs instructions similaires:
Sheets(sheets("bon de commande").[A3]).range("A"&ligne").value =sheets("Bon de Commande").range("E1").value
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
26 nov. 2020 à 20:39
Merci, je viens de faire un essai et ça bloque !

et je n'arrive pas à mettre mon code en exemple selon les règles, lorsque je déploie la flèche dans l'entete, je n'ai pas VBA
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024
26 nov. 2020 à 20:42


'remplissage de la feuille du magasin

Dim magasin As String
magasin = Sheets("Bon de Commande").[A3].Value

ligne = Sheets("magasin").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("magasin").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value


' Sheets("INSTAGRAM").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value 'numero BC
Sheets("magasin").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'nom
Sheets("magasin").Range("G" & ligne).Value = Sheets("Bon de Commande").Range("C8").Value 'Localité
Sheets("magasin").Range("H" & ligne).Value = Sheets("Bon de Commande").Range("C9").Value 'Téléphone
Sheets("magasin").Range("I" & ligne).Value = Sheets("Bon de Commande").Range("D182").Value 'Fournisseur
Sheets("magasin").Range("D" & ligne).Value = Sheets("Bon de Commande").Range("E5").Value 'Prénom

Sheets("magasin").Range("B" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'date
Sheets("magasin").Range("E" & ligne).Value = Sheets("Bon de Commande").Range("C6").Value 'adresse
Sheets("magasin").Range("F" & ligne).Value = Sheets("Bon de Commande").Range("C7").Value 'code postal
Sheets("magasin").Range("J" & ligne).Value = Sheets("Bon de Commande").Range("A14").Value 'Description Ligne 1
Sheets("magasin").Range("K" & ligne).Value = Sheets("Bon de Commande").Range("A15").Value 'Description Ligne 2
Sheets("magasin").Range("L" & ligne).Value = Sheets("Bon de Commande").Range("A16").Value 'Description ligne 3
Sheets("magasin").Range("M" & ligne).Value = Sheets("Bon de Commande").Range("A17").Value 'Description ligne 4
Sheets("magasin").Range("N" & ligne).Value = Sheets("Bon de Commande").Range("A18").Value 'Description ligne 5
Sheets("magasin").Range("O" & ligne).Value = Sheets("Bon de Commande").Range("A19").Value 'Description ligne 6
Sheets("magasin").Range("P" & ligne).Value = Sheets("Bon de Commande").Range("A20").Value 'Description ligne 7
Sheets("magasin").Range("Q" & ligne).Value = Sheets("Bon de Commande").Range("A21").Value 'Description ligne 8
Sheets("magasin").Range("R" & ligne).Value = Sheets("Bon de Commande").Range("A22").Value 'Description ligne 9

Sheets("magasin").Range("S" & ligne).Value = Sheets("Bon de Commande").Range("E24").Value 'Prix de vente

Sheets("magasin").Range("U" & ligne).Value = Sheets("Bon de Commande").Range("B182").Value 'Prix Achat HT
Sheets("magasin").Range("V" & ligne).Value = Sheets("Bon de Commande").Range("M29").Value 'total acomptes

Sheets("magasin").Range("W" & ligne).Value = Sheets("Bon de Commande").Range("E32").Value 'Financement
Sheets("magasin").Range("Y" & ligne).Value = Sheets("Bon de Commande").Range("B187").Value 'Agios

Sheets("magasin").Range("AB" & ligne).Value = Sheets("Bon de Commande").Range("D185").Value 'Vendeur

Sheets("magasin").Range("AD" & ligne).Value = Sheets("Bon de Commande").Range("E112").Value 'Livraison montant

If Sheets("Bon de Commande").CheckBox4.Value = "Vrai" Then
Sheets("magasin").Range("X" & ligne).Value = "COFIDIS"
Else
Sheets("magasin").Range("X" & ligne).Value = "CETELEM"
End If

If Sheets("Bon de Commande").Range("D112").Value = "OUI" Then
Sheets("magasin").Range("AC" & ligne).Value = "OUI"
Else
Sheets("magasin").Range("AC" & ligne).Value = "NON"
End If
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
26 nov. 2020 à 20:48
je viens de voir que je pouvais utiliser les codes pour le basic ici en vba donc, je recommence :
'remplissage de la feuille du magasin


Dim magasin As String
magasin = Sheets("Bon de Commande").[A3].Value

ligne = Sheets("magasin").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("magasin").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value


' Sheets("INSTAGRAM").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value 'numero BC
Sheets("magasin").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'nom
Sheets("magasin").Range("G" & ligne).Value = Sheets("Bon de Commande").Range("C8").Value 'Localité
Sheets("magasin").Range("H" & ligne).Value = Sheets("Bon de Commande").Range("C9").Value 'Téléphone
Sheets("magasin").Range("I" & ligne).Value = Sheets("Bon de Commande").Range("D182").Value 'Fournisseur
Sheets("magasin").Range("D" & ligne).Value = Sheets("Bon de Commande").Range("E5").Value 'Prénom

Sheets("magasin").Range("B" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'date
Sheets("magasin").Range("E" & ligne).Value = Sheets("Bon de Commande").Range("C6").Value 'adresse
Sheets("magasin").Range("F" & ligne).Value = Sheets("Bon de Commande").Range("C7").Value 'code postal
Sheets("magasin").Range("J" & ligne).Value = Sheets("Bon de Commande").Range("A14").Value 'Description Ligne 1
Sheets("magasin").Range("K" & ligne).Value = Sheets("Bon de Commande").Range("A15").Value 'Description Ligne 2
Sheets("magasin").Range("L" & ligne).Value = Sheets("Bon de Commande").Range("A16").Value 'Description ligne 3
Sheets("magasin").Range("M" & ligne).Value = Sheets("Bon de Commande").Range("A17").Value 'Description ligne 4
Sheets("magasin").Range("N" & ligne).Value = Sheets("Bon de Commande").Range("A18").Value 'Description ligne 5
Sheets("magasin").Range("O" & ligne).Value = Sheets("Bon de Commande").Range("A19").Value 'Description ligne 6
Sheets("magasin").Range("P" & ligne).Value = Sheets("Bon de Commande").Range("A20").Value 'Description ligne 7
Sheets("magasin").Range("Q" & ligne).Value = Sheets("Bon de Commande").Range("A21").Value 'Description ligne 8
Sheets("magasin").Range("R" & ligne).Value = Sheets("Bon de Commande").Range("A22").Value 'Description ligne 9

Sheets("magasin").Range("S" & ligne).Value = Sheets("Bon de Commande").Range("E24").Value 'Prix de vente

Sheets("magasin").Range("U" & ligne).Value = Sheets("Bon de Commande").Range("B182").Value 'Prix Achat HT
Sheets("magasin").Range("V" & ligne).Value = Sheets("Bon de Commande").Range("M29").Value 'total acomptes

Sheets("magasin").Range("W" & ligne).Value = Sheets("Bon de Commande").Range("E32").Value 'Financement
Sheets("magasin").Range("Y" & ligne).Value = Sheets("Bon de Commande").Range("B187").Value 'Agios

Sheets("magasin").Range("AB" & ligne).Value = Sheets("Bon de Commande").Range("D185").Value 'Vendeur

Sheets("magasin").Range("AD" & ligne).Value = Sheets("Bon de Commande").Range("E112").Value 'Livraison montant

If Sheets("Bon de Commande").CheckBox4.Value = "Vrai" Then
Sheets("magasin").Range("X" & ligne).Value = "COFIDIS"
Else
Sheets("magasin").Range("X" & ligne).Value = "CETELEM"
End If

If Sheets("Bon de Commande").Range("D112").Value = "OUI" Then
Sheets("magasin").Range("AC" & ligne).Value = "OUI"
Else
Sheets("magasin").Range("AC" & ligne).Value = "NON"
End If

j'espère que ainsi ce sera lisible pour vous.
La ligne qui bloque est celle qui doit incrémenter les numeros de ligne dans la feuille de destination
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
26 nov. 2020 à 21:19
tu as un onglet dont le nom est "magasin"?
0
Non, pas d'onglet magasin puisque je veux envoyer mes données sur l'onglet dont le nom se trouve dans bon de commande, A3
Voilà
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
27 nov. 2020 à 10:28
Bonjour,
je reviens ce matin, car hier soir, j'ai abandonné !
j'ai donc fait un nouveau fichier, juste pour essai.
Je fais trois onglets : Bon de Commande, ANS, DINANT
J'applique votre code à la lettre et cela ne fonctionne pas .
J'ajoute un onglet "magasin" et ça fonctionne, c'est à dire que ce que j'ai mis en D3 de mon bon de commande se retrouve en A3 sur l'onglet magasin.
Mais ce que je dois avoir c'est que en fonction de ce qui est sur le BC, aille se recopier sur l'onglet ANS ou DINANT
voici le lien de ce que j'ai fais comme essai
https://www.cjoint.com/c/JKBjBqsQ4hu

merci de votre aide
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
27 nov. 2020 à 11:21
tu n'as pas fait comme suggéré en #4.
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
27 nov. 2020 à 11:29
je regarde ... et malédiction, j'ai tous vos post de 1 à 14 mais pas le 4 !!!
pourtant je pensais bien avoir suivi tous vos conseils.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024
27 nov. 2020 à 12:51
n'y-a-t-il pas un bouton "afficher les commentaires" entre le #3 et le #5?
tu peux aussi comparer ce que tu as fait avec ma suggestion en #2.

je suggère de tester avec une ligne avant de tout modifier: les erreurs sont parfois plus visibles sur un code plus court.
0
Simkmil > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
27 nov. 2020 à 12:57
Ok, je vais essayer cela cet après midi, pas de suite, car dans peu de temps je dois conduire mon épouse chez le dentiste, alors je verrai cela dès mon retour.
Bon appétit si ce n'est fait.
0
Merci, je vais voir cela cet après midi. Dans peu de temps, je dois conduire mon épouse chez le dentiste, je ferai ça dès mon retour.
Bon appétit si ce n'est fait
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
27 nov. 2020 à 16:33
Me voici de retour.
J'ai en effet retrouvé votre post #4, et c'est bien cela que j'avais tenté d'appliquer.

je vois maintenant un problème avec "ligne" qui n'était spécifié nulle part (dans mon petit programme d'essai)
j'ajoute donc la ligne : ligne=Sheets("magasin").Range("A" & Rows.Count) ...... +1
qui devrait me faire descendre à chaque opération d'une ligne.
Pour cela j'ai ajouté un DIM ligne as String
et ça cale encore à ce niveau.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
27 nov. 2020 à 17:30
fais-tu copier/coller du code suggéré?
comment
magasin
devient-il
"magasin"
?
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
27 nov. 2020 à 20:38
Voilà, je viens d'ôter tous les guillemets entourant les "magasin" et le code passe jusqu'au bout.
J'ai mis la ligne pour compter les lignes et ai ajouter un petit msgbox qui affiche ce numéro de ligne afin de voir s'il a bien incrémenté. et là, tout fonctionne. Le programme ne se bloque plus . MAIS rien ne s'inscrit sur aucune des deux feuilles que j'ai créé comme feuille de destination.
alors que ça fonctionnait lorsque j'avais Sheets("nom de l'onglet").range ...
je n'ai fait que changer en magasin (sans guillements)
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
27 nov. 2020 à 20:14
Oui j'avais fait un copier-coller, mais il me mettait la ligne "Sheets(magasin)... en rouge
j'avais donc pensé que magasin devait être entre guillemets. en fait il y avait également un guillemet après &ligne) je l'ai ôté (car ça ne faisait pas la paire de guillemets)
Maintenant le tout est écrit en noir, mais les mots range, value, sheets n'ont pas de majuscule donc je pense que ça ne devrait pas fonctionner ?
je vais quand même essayer.

Ah ! cette fois çi il a passé le cap de la première ligne et bloque sur ma ligne suivante :

Sheets("magasin").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'nom

devrais je oter tous les guillemets entourant magasin à chaque ligne ?
et il me manque également la ligne qui me fait descendre d'une ligne à chaque opération.
puis remettre la même que sur mes modules précédents ?
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
27 nov. 2020 à 21:53
Sheets("magasin")
, c'est la feuille qui s'appelle magasin
Sheets(magasin)
, c'est la feuille dont le nom est dans la variable appelée magasin.

je n'ai pas assez d'information pour te conseiller au sujet de "la ligne qui me fait descendre d'une ligne à chaque opération".
0
Bonjour,
Merci de passer autant de temps pour m'aider !
Le mieux est que je t'envoie mon fichier entier, mais cjoint ne le veut pas . Peut être trop gros ?
Comment puis je te l'envoyer ? Si je pouvais avoir ton mail, je m'enverrais par Wetransfer.
Merci et excellent weekend.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 nov. 2020 à 12:45
la charte du forum décourage l'assistance hors du forum ou, je pense, par email.
ton fichier fait vraiment plus de 15 Mo?
peut-être
transfernow
?
0
Non, mon fichier fait un peu plus d'un méga. Je ne savais pas que je pouvais envoyer aussi gros.
Je vais donc te l'envoyer cet après midi.
@+
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
28 nov. 2020 à 16:36
en fait, j'avais mis plusieurs onglets sous forme de tableau ce qui a fortement alourdi l'ensemble.
je suis en train de supprimer cette mise en forme et maintenant je vais pouvoir envoyer quelque chose de bien plus léger.mais c'est assez long, plus de trois minutes par onglet !
je reviens
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
28 nov. 2020 à 16:39
et voici mes lignes de code :



Sub ArchiverBC()

'archiver les Bons de commande dans l'historique clients et incrémenter le numéro de Bon de commande

ligne = Sheets("Historique_Commande").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Historique_Commande").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value 'numero BC
Sheets("Historique_Commande").Range("B" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'Date
Sheets("Historique_Commande").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'Nom
Sheets("Historique_Commande").Range("D" & ligne).Value = Sheets("Bon de Commande").Range("E5").Value 'prénom
Sheets("Historique_Commande").Range("E" & ligne).Value = Sheets("Bon de Commande").Range("C6").Value 'adresse

Sheets("Historique_Commande").Range("F" & ligne).Value = Sheets("Bon de Commande").Range("C7").Value 'code postal

Sheets("Historique_Commande").Range("G" & ligne).Value = Sheets("Bon de Commande").Range("C8").Value 'localité
Sheets("Historique_Commande").Range("H" & ligne).Value = Sheets("Bon de Commande").Range("C9").Value 'téléphone
Sheets("Historique_Commande").Range("I" & ligne).Value = Sheets("Bon de Commande").Range("E24").Value 'total TTC
Sheets("Historique_Commande").Range("M" & ligne).Value = Sheets("Bon de Commande").Range("E32").Value 'Solde
Sheets("Historique_Commande").Range("J" & ligne).Value = Sheets("Bon de Commande").Range("E26").Value 'Bancontact
Sheets("Historique_Commande").Range("K" & ligne).Value = Sheets("Bon de Commande").Range("E27").Value 'Visa
Sheets("Historique_Commande").Range("L" & ligne).Value = Sheets("Bon de Commande").Range("E28").Value 'Espèces
Sheets("Historique_Commande").Range("N" & ligne).Value = Sheets("Bon de Commande").Range("B182").Value 'PRIX ACHAT
Sheets("Historique_Commande").Range("S" & ligne).Value = Sheets("Bon de Commande").Range("D182").Value 'Fournisseur
Sheets("Historique_Commande").Range("Q" & ligne).Value = Sheets("Bon de Commande").Range("E116").Value 'Coéfficient
Sheets("Historique_Commande").Range("P" & ligne).Value = Sheets("Bon de Commande").Range("E115").Value 'Designation 1
Sheets("Historique_Commande").Range("R" & ligne).Value = Sheets("Bon de Commande").Range("B149").Value 'Montant reprise
Sheets("Historique_Commande").Range("T" & ligne).Value = Sheets("Bon de Commande").Range("A14").Value 'Designation 2
Sheets("Historique_Commande").Range("U" & ligne).Value = Sheets("Bon de Commande").Range("A15").Value 'Désignation 3
Sheets("Historique_Commande").Range("V" & ligne).Value = Sheets("Bon de Commande").Range("A16").Value 'Désignation 4
Sheets("Historique_Commande").Range("W" & ligne).Value = Sheets("Bon de Commande").Range("A17").Value 'Désignation 5
Sheets("Historique_Commande").Range("X" & ligne).Value = Sheets("Bon de Commande").Range("A18").Value 'Désignation 6
Sheets("Historique_Commande").Range("Y" & ligne).Value = Sheets("Bon de Commande").Range("A19").Value 'Désignation 7
Sheets("Historique_Commande").Range("Z" & ligne).Value = Sheets("Bon de Commande").Range("A20").Value 'Désignation 8
Sheets("Historique_Commande").Range("AA" & ligne).Value = Sheets("Bon de Commande").Range("A21").Value 'Désignation 9
Sheets("Historique_Commande").Range("AB" & ligne).Value = Sheets("Bon de Commande").Range("A22").Value 'Désignation 1
Sheets("Historique_Commande").Range("AC" & ligne).Value = Sheets("Bon de Commande").Range("C11").Value 'reprise
Sheets("Historique_Commande").Range("AD" & ligne).Value = Sheets("Bon de Commande").Range("C12").Value 'emporté
Sheets("Historique_Commande").Range("AE" & ligne).Value = Sheets("Bon de Commande").Range("B24").Value & Sheets("Bon de Commande").Range("C24").Value 'date livraison




'fin de la partie BON de COMMANDE

'seconde partie : remplissage des lignes financement

ligne = Sheets("Financements").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Financements").Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value 'numero BC
Sheets("Financements").Range("B" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'nom
Sheets("Financements").Range("C" & ligne).Value = Sheets("Bon de Commande").Range("E24").Value 'Prix de vente TTC
Sheets("Financements").Range("D" & ligne).Value = Sheets("Bon de Commande").Range("E32").Value 'Montant à financer

Sheets("Financements").Range("E" & ligne).Value = Sheets("Bon de Commande").Range("A3").Value 'Magasin
'Sheets("Financements").Range("F" & ligne).Value = Sheets("Bon de Commande").Range("C8").Value 'localité
Sheets("Financements").Range("G" & ligne).Value = Sheets("Bon de Commande").Range("B187").Value 'Agios

Sheets("Financements").Range("J" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'Date envoi
Sheets("Financements").Range("K" & ligne).Value = Sheets("Bon de Commande").Range("D185").Value 'Bancontact

If Sheets("Bon de Commande").CheckBox4.Value = "Vrai" Then
Sheets("Financements").Range("H" & ligne).Value = "COFIDIS"
Else
Sheets("Financements").Range("H" & ligne).Value = "CETELEM"
End If


'remplissage de la feuille du magasin

Dim magasin As String
magasin = Sheets("Bon de Commande").[A3]
Sheets(magasin).Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value
ligne = Sheets(magasin).Range("A" & Rows.Count).End(xlUp).Row + 1

MsgBox ActiveCell.Row 'pour afficher le n° de la ligne


Sheets(magasin).Range("C" & ligne).Value = Sheets("Bon de Commande").Range("C5").Value 'nom
Sheets(magasin).Range("G" & ligne).Value = Sheets("Bon de Commande").Range("C8").Value 'Localité
Sheets(magasin).Range("H" & ligne).Value = Sheets("Bon de Commande").Range("C9").Value 'Téléphone
Sheets(magasin).Range("I" & ligne).Value = Sheets("Bon de Commande").Range("D182").Value 'Fournisseur
Sheets(magasin).Range("D" & ligne).Value = Sheets("Bon de Commande").Range("E5").Value 'Prénom

Sheets(magasin).Range("B" & ligne).Value = Sheets("Bon de Commande").Range("D3").Value 'date
Sheets(magasin).Range("E" & ligne).Value = Sheets("Bon de Commande").Range("C6").Value 'adresse
Sheets(magasin).Range("F" & ligne).Value = Sheets("Bon de Commande").Range("C7").Value 'code postal
Sheets(magasin).Range("J" & ligne).Value = Sheets("Bon de Commande").Range("A14").Value 'Description Ligne 1
Sheets(magasin).Range("K" & ligne).Value = Sheets("Bon de Commande").Range("A15").Value 'Description Ligne 2
Sheets(magasin).Range("L" & ligne).Value = Sheets("Bon de Commande").Range("A16").Value 'Description ligne 3
Sheets(magasin).Range("M" & ligne).Value = Sheets("Bon de Commande").Range("A17").Value 'Description ligne 4
Sheets(magasin).Range("N" & ligne).Value = Sheets("Bon de Commande").Range("A18").Value 'Description ligne 5
Sheets(magasin).Range("O" & ligne).Value = Sheets("Bon de Commande").Range("A19").Value 'Description ligne 6
Sheets(magasin).Range("P" & ligne).Value = Sheets("Bon de Commande").Range("A20").Value 'Description ligne 7
Sheets(magasin).Range("Q" & ligne).Value = Sheets("Bon de Commande").Range("A21").Value 'Description ligne 8
Sheets(magasin).Range("R" & ligne).Value = Sheets("Bon de Commande").Range("A22").Value 'Description ligne 9

Sheets(magasin).Range("S" & ligne).Value = Sheets("Bon de Commande").Range("E24").Value 'Prix de vente

Sheets(magasin).Range("U" & ligne).Value = Sheets("Bon de Commande").Range("B182").Value 'Prix Achat HT
Sheets(magasin).Range("V" & ligne).Value = Sheets("Bon de Commande").Range("M29").Value 'total acomptes

Sheets(magasin).Range("W" & ligne).Value = Sheets("Bon de Commande").Range("E32").Value 'Financement
Sheets(magasin).Range("Y" & ligne).Value = Sheets("Bon de Commande").Range("B187").Value 'Agios

Sheets(magasin).Range("AB" & ligne).Value = Sheets("Bon de Commande").Range("D185").Value 'Vendeur

Sheets(magasin).Range("AD" & ligne).Value = Sheets("Bon de Commande").Range("E112").Value 'Livraison montant

If Sheets("Bon de Commande").CheckBox4.Value = "Vrai" Then
Sheets(magasin).Range("X" & ligne).Value = "COFIDIS"
Else
Sheets(magasin).Range("X" & ligne).Value = "CETELEM"
End If

If Sheets("Bon de Commande").Range("D112").Value = "OUI" Then
Sheets(magasin).Range("AC" & ligne).Value = "OUI"
Else
Sheets(magasin).Range("AC" & ligne).Value = "NON"
End If
'----------------------------------------------------------------------------------------------------------
'Coloriage en fond jaune si argent rentré



'----------------------------------------------------------------------------------------------------------
'Quatrième partie : Planning

'Dim mois As String, magasin As String, colonne As Range, cible As Range
'mois = Worksheets("BON DE COMMANDE").[B24]
'magasin = Worksheets("BON DE COMMANDE").[A3]
'Set colonne = Worksheets("PLANNING").[B1]
'Do While colonne <> ""
' If UCase(colonne) = UCase(mois) Then
' If colonne.Offset(1) = magasin Then
' Set cible = colonne.Offset(2)
' Do While cible.Offset(1) <> ""
' Set cible = cible.Offset(10)
' Loop
' cible = Worksheets("BON DE COMMANDE").[C5]
' cible.Offset(1) = Worksheets("BON DE COMMANDE").[E1]
' '....
' Exit Do
'End If
' End If
'Set colonne = colonne.Offset(, 1)
'Loop

'----------------------------------------------------------------------------------------------------------

'archivage du bon de commande

'Sub EnregistrementFacture()

Dim NomDossier As String
Dim Chemin As String

NomDossier = Application.InputBox("ArchivageFactures:", "Année ?")

Chemin = "C:\Users\bs382\OneDrive\Desktop\ArchivageFactures\" & NomDossier & "\"

If NomDossier = "" Then Exit Sub

ActiveSheet.ExportAsFixedFormat Type:=xlTypexlsm, Filename:= _
Chemin & "Bon de Commande N° _" & Range("E1").Value & " " & Range("C5").Value & ".xlsm", quality:= _
xlQualityStandard, includedocproperties:=True, ignoreprintareas:=False, _
from:=1, to:=5, openafterpublish:=False



'----------------------------------------------------------------------------------------------------------

Sheets("Bon de Commande").Range("C5").ClearContents 'vider l'entete client-Nom
Sheets("Bon de Commande").Range("E5").ClearContents 'vider l'entete client-Prénom
Sheets("Bon de Commande").Range("C6:E10").ClearContents 'vider l'entete client-reste de l'entete
Sheets("Bon de Commande").Range("A14:E22").ClearContents 'vider le corps de facture
Sheets("Bon de Commande").Range("E29").ClearContents 'vider l'accompte
Sheets("Bon de Commande").Range("E26:E28").ClearContents 'vider les accomptes
Sheets("Bon de Commande").Range("C34:D34").ClearContents 'vider le montant mensuel

Sheets("Bon de Commande").CheckBox1.Value = False ' vider les cases à cocher-Bancontact
Sheets("Bon de Commande").CheckBox2.Value = False 'vider les cases à cocher-Visa
Sheets("Bon de Commande").CheckBox3.Value = False 'vider les cases à cocher-Espèces
Sheets("Bon de Commande").CheckBox4.Value = False 'vider les cases à cocher-Cofidis
Sheets("Bon de Commande").CheckBox5.Value = False 'vider les cases à cocher-Cetelem
Sheets("Bon de Commande").CheckBox6.Value = False 'vider les cases à cocher-Secci



Sheets("Bon de Commande").Range("E1").Value = Sheets("Bon de Commande").Range("E1").Value + 1 'incrémenter le numéro de Bon de commande

End Sub
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
28 nov. 2020 à 16:46
la premiere partie envoie les infos recueillies du bon de commande vers l'historique commande. Ici tout fonctionne.
puis, j'ai une partie "financements" également données venant du BC. Ici tout fonctionne
et après, l'onglet relatif au magasin. Actuellement j'ai créé 4 copies de cet onglet : Facebook, Instagram, Ans et Dinant .
et selon le lieu du magasin (spécifié en A3 sur le BC) je voudrais que mes données se recopient sur la feuille Adhoc..
après cela, j'ai une partie pas encore terminée concernant le planning des livraisons.
Puis j'archive mon bon de commande dans un dossier sur le bureau (afin de pouvoir en faire à nouveau une copie si nécessaire) - ceci aussi fonctionne.
et en dessous de cela, je vide toutes les cases et j'incrémente de 1 le n° de BC afin de passer au suivant.

Donc je n'ai qu'une numérotation pour tous les magasins.
Voilà, j'espère que tu pourras voir de quoi il s'agit.
Merci beaucoup
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 nov. 2020 à 16:46
ce serait bien d'utiliser les balises quand tu postes du code: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

le code se comporte bien?
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
28 nov. 2020 à 16:49
ceci me semble bizarre:
Sheets(magasin).Range("A" & ligne).Value = Sheets("Bon de Commande").Range("E1").Value
ligne = Sheets(magasin).Range("A" & Rows.Count).End(xlUp).Row + 1

ne faudrait-il pas inverser l'ordre de ces lignes?
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
28 nov. 2020 à 17:53
j'essaie de suite et je reviens
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
28 nov. 2020 à 17:58
c'est en effet plus logique, mais cela ne change rien. il n'y a rien qui s'inscrit sur la feuille idoine.
Ici j'avais fait un BC avec FACEBOOK comme magasin et je n'ai rien sur cette feuille.

comment faire pour afficher les lignes comme toi, avec les numéros, selon la charte de CCM ?
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 nov. 2020 à 18:21
comme expliqué en #30.
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34 > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
28 nov. 2020 à 19:55
dans les explications données, il est écrit que pour le langage VBA il faut prendre le BASIC, c'est ce que j'ai fait, en suivant ce qu'ils disaient,
mettre la balise avant le code, c'est ce que j'ai fait, mais ça ne fonctionne pas comme ça devrait, mes lignes ne se numérotent pas, et mes codes ne se colorient pas.
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 nov. 2020 à 18:26
comme tu n'indiques pas qu'il y a un message d'erreur, je suppose qu'il n'y en a pas.
je suspecte alors que les données s'inscrivent bien dans la feuille idoine, mais que cela s'écrit plus bas dans la feuille.
0
Simkmil > yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
28 nov. 2020 à 19:14
Ah ça , j'ai pas regardé plus bas que l'écran. Je vais regarder.
Merci.
Si c'est cela, devrais je supprimer les lignes précédent cet endroit ?
0
simkmil Messages postés 434 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 13 mars 2024 34
28 nov. 2020 à 20:03
Bonsoir,
en effet, mes lignes sont inscrites bien plus bas sur la feuille en question.
ligne 88 pour une ligne 94 pour l'autre.

Je vais donc effacer mes lignes précédentes.
Je pense que maintenant ça va fonctionner normalement.
Merci beaucoup pour ton aide.
Je vais intégrer les autres magasins (il y en a 9 !)
et encore faire quelques essais.

Après cela, je dois faire une feuille récapitulative pour le Boss, mais je pense que l'historique commandes devrait être bon pour cela.
et ensuite, je vais m'attaquer au planning des arrivées et des livraisons.

Merci encore, bonne fin de week end et @+
0
yg_be Messages postés 22729 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
28 nov. 2020 à 22:03
si ceci fonctionne, peux-tu marquer la discussion comme résolue?
0
Ok merci je vais le faire.
Encore un grand merci pour ton aide.
Decidement, CCM est formidable.
0