cerhu > microsoft.* > microsoft.excel

mclain (01/12/2019, 00h07)
Bonjour,

Voici mon problème.
J'ai différentes feuilles de gestion commerciale.
Je saisie dans une feuille mes commandes avec un code unique COMMANDE.
Cette commande comprend le code client ainsi que différentes informations sur chacun des produits de cette commande.

Je veux dans une autre feuille Excel, dite de facturation, qu'en tapant le code commande, que la feuille facturation s'implémente de la totalité des produits commandés...

j'ai essayé de voir sur internet comme y arriver mais Excel s'arrete à la premiere ligne de ma commande identifiée...

Je joins un fichier car pas sur d'être clair.
En excel 2010 car au bureau je n'ai que ca
[..]

En tout cas merci pour votre aide !

Mclain.
MichD (01/12/2019, 17h20)
Bonjour,

Les explications sont dans le fichier.
[..]

MichD
MichD (01/12/2019, 17h22)
Tu peux supprimer le module1 dans la fenêtre de l'éditeur de code (VBA),
il ne sert à rien!

MichD
mclain (01/12/2019, 20h50)
Le dimanche 1 décembre 2019 16:22:46 UTC+1, MichD a écrit :
> Tu peux supprimer le module1 dans la fenêtre de l'éditeur de code (VBA),
> il ne sert à rien!
> MichD


Bonsoir MichD !

Un grand merci ! Que du bonheur !
Je me permettrai peut-être de demander un ajustement si je n'y arrive pas :(

Encore merci MichD !

Mclain
mclain (02/12/2019, 16h53)
Bonjour MichD,

Encore merci pour ton aide.
Si je veux afficher mes résultats en feuille 2, notamment le code client et le code commande... cela est possible ?

Quelle variable doit-je utiliser ?

Merci.

Mclain
MichD (02/12/2019, 19h35)
Bonjour,

| Si je veux afficher mes résultats en feuille 2

**** Il n'y a pas de "Feuille 2" dans le classeur que tu as publié. Que
dois-je comprendre? Si tes données dans une autre feuille, tu places la
macro dans cette feuille. Évidemment, dans la macro, tu devras adapter
le nom de la feuille et les adresses le cas échéant.

| notamment le code client

**** La formule en D6 et celle-ci:
=INDEX(Code_Client;EQUIV(Bordereau!A2;Commande;0))

Dans la formule précédente, "Commande" représente une plage nommée qui
est définie comme suit :
=DECALER(Commande!$A$1;;;NB(Commande!$A:$A)+1;)

L'expression "Code_Client" est aussi une plage nommée à l'aide de cette
formule : =DECALER(Commande!$B$1;;;NB(Commande!$B:$B)+1;)

Tu peux accéder à ces plages nommées par le menu "Formules /
Gestionnaire de noms /". Sélectionne à tour de rôle les expressions
"Commandes" et "Code_client" et dans le bas de la fenêtre, tu verras les
formules.

Si les données se retrouvent sur une autre feuille que "Commande", il
faudra que tu remplaces "Commandes" par le nouveau nom de la feuille. Il
en va de même pour les adresses de cellules.

Je dois m'absenter pour une durée indéterminée, si tu as un besoin
particulier, il y aura sûrement quelqu'un d'autre pour t'aider!

MichD

Le 02/12/19 à 09:53, mclain a écrit :
[..]
mclain (03/12/2019, 00h13)
Bonsoir MichD,

Merci infiniement pour ton aide précieuse.

Rien de grave...pour ton absence ?

Merci à toi

Mclain
Michel__D (03/12/2019, 21h13)
Bonjour,

Le 30/11/2019 à 23:07, mclain a écrit :
[..]
> [..]
> En tout cas merci pour votre aide !
> Mclain.


Je peux te proposer une solution sans VBA si cela t'intéresse (seule condition la Feuille
'Commande' doit être triée) l'avantage est la compatibilité avec LibreOffice.
mclain (03/12/2019, 22h42)
Bonsoir MichD,

Ca va ?

Je prends toute solution que tu me proposes et me permet de gagner du temps dans mon travail... Alors oui je veux bien !

Merci d'avance !
Mclain
Michel__D (03/12/2019, 23h14)
Le 03/12/2019 à 21:42, mclain a écrit :
> Bonsoir MichD,
> Ca va ?
> Je prends toute solution que tu me proposes et me permet de gagner du temps dans mon travail... Alors oui je veux bien !
> Merci d'avance !
> Mclain


[..]

Donc la feuille "Commande" doit être triée.

Création d'une plage nommée 'Commandes' qu'il faudra mettre à jour pour garder la compatibilité
avec LibreOffice sinon tu peux utiliser la formule de MichD :
=DECALER(Commande!$A$1;;;NB(Commande!$A:$A)+1;)

Création d'une expression nommée 'Id_Ligne' qui correspond au numéro de la ligne de la 1ère
occurence - 1 , elle renvoie 0 si B2 est vide ou pas trouvé.

La formule située en A9 peut être recopier à droite et vers le bas.
MichD (04/12/2019, 01h00)
> Ca va ? OUI. Merci.

Bonjour,

Si je peux me permettre, j'ajouterais dans le fichier exemple de
Michel_D un "NOM" avec cette formule.
Nom = Data
Fait référence à :
=SI(OU(Id_Ligne=0;(LIGNE()-8)>NB.SI(Commandes;Bordereau!$B$2));"";DECALER(Com mande!E$1;Id_Ligne+LIGNE()-9;0))

Dans la feuille bordereau, en cellule A9, j'inscris =Data et je recopie
cette formule sur toute la plage de cellule que tu veux.

Voici le fichier modifié :
[..]

MichD
Michel__D (04/12/2019, 19h34)
Le 04/12/2019 à 00:00, MichD a écrit :
>> Ca va ? OUI. Merci.

> Bonjour,
> Si je peux me permettre, j'ajouterais dans le fichier exemple de Michel_D un "NOM" avec cette formule.
> Nom = Data
> Fait référence à :
> =SI(OU(Id_Ligne=0;(LIGNE()-8)>NB.SI(Commandes;Bordereau!$B$2));"";DECALER(Com mande!E$1;Id_Ligne+LIGNE()-9;0))


Tout le monde aura compris que la formule doit être modifiée pour qu'elle soit opérationnelle en
expression nommée et cela reste toujours compatible avec LibreOffice.
MichD (04/12/2019, 20h31)
> Tout le monde aura compris que la formule doit être modifiée pour
> qu'elle soit opérationnelle en expression nommée et cela reste toujours
> compatible avec LibreOffice.


Bonjour Michel_D,

À défaut de l'avoir spécifié dans ma remarque, je fais partie de ceux
qui n'ont jamais ouvert "Libre Office". C'est bien tout le monde sauf
moi, pas d'autres commentaires à formuler si ce n'est que le demandeur a
soumis sa question dans un fichier Excel.
;-)

MichD
mclain (06/12/2019, 00h20)
Bonsoir MichD,

Je vais essayer tout cela !
Merci !
Discussions similaires
Liste déroulante (zone de liste) avec données en ligne

Remplissage d'une cellule en automatique à partir d'une liste de données

créer liste + ouvrir fichiers à partir liste + copier données

completude


Fuseau horaire GMT +2. Il est actuellement 01h42. | Privacy Policy