Adresse automatique dans une facture sur Excel

ALH -  
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Je suis actuellement en train de créer une facture sur une ancienne version d'Excel. Je souhaiterai qu'une fois avoir sélectionné le fournisseur voulu dans la liste déroulante que j'ai crée à cet effet, son adresse apparaisse automatiquement.
J'ai cherché sur de nombreux forum, mais je ne trouve pas de solution à mon problème. Si quelqu'un pouvait avoir la solution merci de bien vouloir m'aider :)

Merci d'avance

A voir également:

15 réponses

rEVOLV3r Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   28
 
Bonjour,

Quelques questions :

- Votre liste déroulante, c'est vous qui l'avez créée ? en VBA ? Si non, comment elle est ?
- L'adresse doit apparaitre où ? Juste en dessous du nom ? Dans quelle cellule ?

idée n°1 :

Une solution serait de créer une base de donnée sur l'onglet suivant ou vous auriez le nom du fournisseur et son adresse a coté, un simple tableau quoi.

Faire une simple macro qui regarde la valeur (.value) de la cellule fournisseur et qui va la comparer a ton tableaux de fournisseurs pour mettre égal la cellule du dessous à la cellule de l'adresse fournisseur du tableau.

idée n°2 :

Si vous n'avez pas un grand nombre de founisseurs, pas des centaines, vous pouvez faire une macro toute simple qui va lors d'un clic, regarder la valeur de la cellule fournisseur et à l'aide d'un case, chercher l'adresse directement à l'intérieur de la macro. Mais bon, mettre des données en hard dans une macro, c'est jamais génial ^^

Si vous voulez que je vous crée une de ces macros, dites le moi, ya aucun soucis.

Bonne journée
0
ALH
 
Merci de votre réponse
je dois admettre que je ne suis pas douée en informatique, je ne sais pas ce qu'est une macro
J'ai crée moi même la liste déroulante, elle contient 14 noms, je ne peux pas crée un tableau à coté, car c'est une facture à envoyer ..
0
ALH
 
J'ai par ailleurs essayé de faire une recherche V mais je ne comprend pas "l'aide" apporter par excel :/
0
rEVOLV3r Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   28
 
Alors voila comment procéder pour régler votre problème, suivez bien les instructions.

1)Commencez par enregistrer votre fichier excel en .xlsm, format prennant en compte les macros.

2)Sur Excel, bouton démarrer>option excel>centre de gestion de la confidentialité>parametres du centre de gestion de la confidentialité>paramètre des macros>activer toutes les macros

3)Ouvrez votre fichier .xlsm biensur

4) Alt+F11 : ouverture de l'interface VBA

5) clic droit dans la partie de gauche : insertion>module
6) copier le code si dessous dans le module :

____
Sub GetFournisseur()

Dim srtNameReal As String
srtNameReal = Sheets("Feuil1").Range("D4").Value


Select Case srtNameReal
Case "Fournisseur1"
Sheets("feuil1").Range("D5") = "Rue de la gare 12"
Case "Fournisseur2"
Sheets("feuil1").Range("D5") = "Rue de la gare 12"
Case "Fournisseur3"
Sheets("feuil1").Range("D5") = "Rue de la gare 12"
Case "Fournisseur3"
Sheets("feuil1").Range("D5") = "Rue de la gare 12"

Case Else
MsgBox ("Fournisseur introuvable, vérifiez l'orthographe")
End Select
End Sub

_____
'modifier le nom de votre feuille et la cellule ou se trouve le nom de votre fournisseur
'La cellule D5 correspond a votre cellule d'adresse, ou vous voulez que l'adresse soit mise.
'ajoutez autant de case que vous voulez, "Fournisseur1" 2 3 etc sont les noms complets de de vos fournisseur. Il faut qu'ils soient parfaitement égaux dans les caractères pour que le case fonctionne.


7) Entrez tous les cases possibles des noms de fournisseurs
8) Enregistez ;-) et quittez la fenetre VBA
9) Onglet développeur>Inserer>"le preimer item, c'est un rectangle gris
C'est votre bouton de macro, pour l'activer
10) clic droit sur le bouton : affecter une macro et la macro getfournisseur.
11) Enjoy

si vous avez un problème hésitez pas !
0

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

Posez votre question
ALH
 
Merci infiniment !!!
C'est plus simple que ce que j'avais fais, j'avais créé une macro par fournisseur --'
cependant lorsque j'écris ceci :

Sub GetFournisseur()

Dim srtNamesReal As String

Select Case srtNameReal
Case "XXX"
Sheets("BDDF").Range("B36:B37") = "40 rue la XXX"
Case "XXXX"
Sheets("BDDF").Range("B33") = "39 avenue XXXX "

End Select
End Sub

cela ne marche pas. Pour être plus précise, BDDF est la table ou se trouve tous les fournisseurs, et B36:B37 sont des cellules fusionnées ou se trouve l'adresse sur la table BDDF

De plus, puis je ajouter le code postal et la ville ?
0
rEVOLV3r Messages postés 223 Date d'inscription   Statut Membre Dernière intervention   28
 
alors le range doit etre une seule cellule je crois pour que ca fonctionne.
et pour le code postal, c'est aussi simple, tu rajoutes une ligne :

sheets("BDDF").Range("B36") = "40 rue..."
sheets("BDDF").Range("B37") = "code postal"
sheets("BDDF").Range("C37") = "La ville"

ce qui donnerait ton adresse avec le code postal et la ville en dessous.

Mais n'oublie pas la ligne
srtNameReal = Sheets("Feuil1").Range("D4").Value
dans ta macro ^^ le range doit etre celui ou le fournisseur est inscrit

bonne soirée
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
Bonjour,
cela il faut prendre la fonction RECHERCHV ou INDEX
mais sans fichier en exemple difficile de t'aider, sinon tu peut mettre un exemple de ton fichier sans données confidenciels ici https://www.cjoint.com/
puis tu met le lien

marc
0
ALH
 
J'ai refais un document très simplifié
http://cjoint.com/?3FdqlUIvZEq

Encore merci pour votre aide
0
foo
 
Bonjour

Voila une autre solution

http://cjoint.com/?3FdwaZaf88P

A+

Maurice
0
ALH
 
Merci beaucoup pour votre aide.
J'ai crée la macro, tout fait comme il fallait enfin il me semble, et pourtant elle ne veut pas s'afficher sur ma facture, je reviens dans microsoft visual basic, et un message disant "cette commande va arrêter le débogueur"
Qu'est ce que cela signifie ?
0
ALH
 
Le debut de ma macro:
Sub AdresseFournisseur()
'
' AdresseFournisseur Macro
' Macro enregistrée le 04/06/2013 par xxx
'
'
Dim srtNameReal As String
srtNameReal = Sheets("Feuil1").Range("G10").Value

et la fin

Sheets("BDDF").Range("C38") = "75002 PARIS"

End Select
'
End Sub

Quelqu'un voit il le problème ?
Merci d'avance
0
Estbureautique Messages postés 143 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour

pourquoi n utilisez vous pas la recherche V ?
0
ALH
 
Une recherche V me permettrait d'avoir l'adresse d'un fournisseur qui apparait automatiquement en fonction du noms du fournisseurs ?
Si oui, comment fait on ? J'ai déjà essayé de faire ce que j'avais lu sur internet sur la recherche v mais je n'ai pas réussi ..
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
Bonjour,
regarder ci cela vous convient, si oui je vous expliqurais comment faire

marc

https://www.cjoint.com/?CFeqgi86prw
0
ALH
 
OUIII c'est exactement ce que je cherche à faire !!
Merci beaucoup marc :)
Comment faites vous cela ?
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
Ok alors je te remet le fichier en ligne avec des explications
https://www.cjoint.com/c/CFergy3Mazt

je reste a disposition

marc
0
ALH
 
Merci merci merci Marc
j'ai enfin réussi !!
le seul soucis est que la fleche de la liste déroulante s'affiche lors de l'impression ^^
0
marc07 Messages postés 593 Date d'inscription   Statut Membre Dernière intervention   187
 
Re,
tu clik droit sur la liste deroulande format de control et propriété et tu decoche imprimer objet

marc
0