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 !

ezrielle

XLDnaute Occasionnel
Bonjour à tous,

Je souhaiterai remplir mon devis à partir d'une base de donnée mais ma formule contient une erreur.
Est ce que vous pourriez me donner un petit coup de main svp?
MErci beaucoup d'avance

Je vous joint le fichier (aller voir dans la feuille"devis fournisseur") avec les explications pour que se soit plus simple.

Merci pour votre aide


J'aimerai reussir à remplir mon devis fournisseur à partir de mon tableau de base de donnée présent dans feuille 1.
Mais je n'arrive pas à incrémenter mon code produit

Pour plus de détail
Si mon code fournisseur est A2 (celluleC8)
que je puisse remplir directement dans ma colonne code produit
A2.1
A2.2
A2.3...
(En rapport ac mon tableau "feuille1")

i-Ai je été claire ?
Vraiment besoin de votre aide svp
Merci beaucoup
La Novice

Encore merci pour votre aide
N'hésitez pas si je n'ai pas été suffisament clair.

Ezrielle
 

Pièces jointes

Re : Remplir un devis

Bonsoir ezrielle,

Voir le fichier joint. La formule dans les cellules A19:A23 de "Devis fournisseur" est :

Code:
=SI(ESTNA(EQUIV(C$8&"."&LIGNE()-18;code_produit;0));"";C$8&"."&LIGNE()-18)

Pour la colonne "Désignation", je ne sais que faire avec la feuille "donnée"...

Bonne fin de soirée.

Edit : j'ai rajouté une ligne car le code "B1" comporte 5 produits...
 

Pièces jointes

Dernière édition:
Re : Remplir un devis

Bonsoir ezrielle,

Voir ton fichier modifié : j'ai remplacé ta cellule C8 par une liste déroulante à laquelle j'ai affecté un code qui se déclenche sur l'événement Change.
Il est facile d'ajouter des cellules à mettre à jour en même temps que la colonne A.
Le code n'est pas optimisé, mais il a le mérite de fonctionner.

Espérant t'avoir aidé(e).

Cordialement.
 

Pièces jointes

Re : Remplir un devis

Bonjour ezrielle, Papounet, le forum,

Papounet, je ne comprends pas, la liste de validation en C8 d'ezrielle paraît une solution plus simple...

Voici de mon coté une solution par macro Change (clic droit sur l'onglet "Devis fournisseur" et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$8" Then Exit Sub
Dim Cel As Range, i As Byte
Range("A19:F23") = ""
i = 18
For Each Cel In Sheets("Feuil1").Range("code_produit")
If Cel Like Target & ".*" Then
i = i + 1
Cells(i, 1) = Cel
End If
Next
End Sub

Edit : cette solution par macro est préférable si l'on veut en profiter pour entrer d'autres données, sinon je préfère ma solution par formule (mon post précédent)...

A+
 

Pièces jointes

Dernière édition:
Re : Remplir un devis

Re,

J'ai ajouté quelques lignes dans la macro pour masquer les lignes qui sont vides dans la plage A19:A23 de la feuille "Devis fournisseur".

Maintenant, sans réserve, je préfère cette solution avec macro :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$C$8" Then Exit Sub
Dim Cel As Range, i As Byte
Range("A19:F23") = ""
i = 18
For Each Cel In Sheets("Feuil1").Range("code_produit")
If Cel Like Target & ".*" Then
i = i + 1
Cells(i, 1) = Cel
End If
Next
[COLOR="Red"]For Each Cel In Range("A19:A23")
Cel.EntireRow.Hidden = Cel = ""
Next[/COLOR]
End Sub

A+
 

Pièces jointes

Dernière édition:
Re : Remplir un devis

Bonsoir le forum,

Job75, pour répondre à ta 1ère question : la validation en C8 paraît plus simple mais il n'en est rien. La gestion par formule est toujours plus délicate, car en cas de fausse manip, il n'est pas toujours évident de récupérer, sauf à l'empêcher en protégeant la feuille.
La solution par macro Change appliquée à la feuille était dans ma démarche initiale, mais cette macro est appelée à chaque changement-recalcul de la feuille, ce qui n'est pas parfois sans poser des problèmes et peut contribuer à certaines erreurs. La liste déroulante, que j'ai prévue dans mon exemple, est tout particulièrement adaptée à ce cas précis, d'autant qu'elle facilite la gestion des cellules adjacentes à la cellule traitée.
Il est certain que mon code, écrit dans la précipitation, est perfectible et optimisable, toutefois il est assez proche de ta proposition dans sa démarche.
Je retiens par ailleurs ta solution de masquer les lignes vides, qui est très astucieuse.

Cordialement.
 
Re : Remplir un devis

Bonsoir Papounet,

Comme je l'ai dit, la solution par formules n'a pas ici ma préférence, mais il ne faut pas cracher dessus, elle est souvent préférable à la solution par macro.

Relisant ta macro, que je trouve très bien, je vois que tu effaces les données jusqu'à la colonne F, tu as raison, je vais modifier mes macros dans les posts.

A+
 
Re : Remplir un devis

Bonjour,

wow, c'est genial merci beaucoup.
Je vais rester sur la formule qui me va très bien et étant encore débutante c'est plus à ma porter pour comprendre que le VBA.
J'apprécie bp votre aide c'est super.
Juste une petite précision est-ce qu'il serait possible d'avoir des explications sur la formule svp?
J'aimerai bien comprendre ce que je fais pour pouvoir le refaire.

Encore merci pour votre précieuse aide c'ets parfait

Bonne soirée et bonne semaine

Ezrielle
 
Re : Remplir un devis

Bonsoir ezrielle,

J'explique donc la formule :

=SI(ESTNA(EQUIV(C$8&"."&LIGNE()-18;code_produit;0));"";C$8&"."&LIGNE()-18)

C$8&"."&LIGNE()-18
Si en C8 on a "A2", cette expression renvoie "A2.1" en ligne 19 (Ligne() est égal à 19), "A2.2" en ligne 20, etc...

La fonction EQUIV recherche ce texte dans la plage code_produit de la Feuil1 :

- si elle trouve ce texte, elle renvoie sa position dans la plage (un nombre), et la fonction ESTNA renvoie alors FAUX

- si elle ne le trouve pas, elle renvoie la valeur d'erreur #N/A et la fonction ESTNA renvoie VRAI

La fonction SI est bien connue, si elle vous pose problème, voyez l'aide Excel.

Le résultat de la formule est donc un texte du genre "A2.1" ou bien le texte vide "".

Bonne fin de soirée.
 
- 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

Retour