XL 2016 Macro recherche bdd

HelloDy

XLDnaute Junior
Bonjour mes futurs sauveurs ^^

J'aurais besoin pour mon travail de créer une macro allant chercher des infos (référence, désignation, prix) dans une base de données et les recopier dans un autre onglet où des étiquettes sont formalisées.
Seulement niveau macro je ne sais utiliser que l'enregistreur de macro, et là ça marche pas ça je suis perdue :(

J'ai joint mon fichier, enfin quelque chose qui y ressemble car dans le vrai il y a plein d'infos confidentielles :oops:

J'aimerais qu'en lançant une macro, Excel remplisse les étiquettes en fonction de ce qui est demandé dans le 1er onglet (en prenant en compte le nombre d'étiquettes à créer pour chaque ref), à partir des infos trouvées dans l'onglet "BDD".
Et si une ref demandée dans le 1er onglet n'existe pas dans la BDD, qu'il la colorie la cellule incriminée en rouge par exemple.

Je sais je demande la lune !! Mais si quelqu'un peut m'aider ce serait génial.

Merci d'avance et à bientôt.

Élo
 

Pièces jointes

  • Exemple.xlsm
    26.5 KB · Affichages: 38

Staple1600

XLDnaute Barbatruc
Re

En attendant mapomme
Une macro non pas à la marge, mais à la Merge ;)
VB:
Sub FusionWithNoJazz()
Dim c As Range
For Each c In Range("a1").CurrentRegion
If c.Row Mod 3 = 1 And c.Column Mod 2 = 1 Then
c.Resize(, 2).Merge
End If
Next
End Sub
NB: A lancer après La_Lune ;)
 

HelloDy

XLDnaute Junior
Merci beaucoup je vais tester et revenir râler si ça ne fonctionne pas :)
Pour l'image n'importe, en fait c'est le logo de la société donc pour des raisons de confidentialité je ne préfère pas le laisser apparaître ici. N'importe quelle image fera l'affaire, je pourrai la changer par la suite j'imagine... non ?
 

Staple1600

XLDnaute Barbatruc
Re

L'image est sur la feuille (et ici je l'ai renommé ImaGine)
Et la macro ci-dessous fait mochement* le job
VB:
Sub EmileEtImages()
Dim c As Range, shp As Shape
Application.ScreenUpdating = False
Set shp = ActiveSheet.Shapes("ImaGine")
For Each c In Range("a1").CurrentRegion
If c.Row Mod 3 = 2 And c.Column Mod 2 = 1 Then
shp.Copy: c.Select
ActiveSheet.Pictures.Paste.Select
Application.CutCopyMode = False
End If
Next
End Sub

*: C'est là que je rappelle qu'il est beaucoup plus simple de faire ceci avec Word+Publipostage (notamment pour ce qui concerne l'insertion de l'image)
Voir ici ce tutoriel (par exemple)
 

Staple1600

XLDnaute Barbatruc
Re,

@HelloDy
Pardon pour le double post !
Ca marche nickel pour la désignation mais pas pour les cellules contenant le prix (les cellules noires)
Ah et je viens de comprendre "à la Merge" haha :D
Je pensais que tu étais dépositaire d'un stock de neurones suffisant pour modifier la macro en conséquence...
Ce n'est pas le cas ? ;)
VB:
Sub Double_FusionWithNoJazz()
Dim c As Range
Application.ScreenUpdating = False
Application.DisplayAlerts = False
For Each c In Range("a1").CurrentRegion
If c.Row Mod 3 = 1 And c.Column Mod 2 = 1 Then
c.Resize(, 2).Merge
End If
If c.Row Mod 3 = 2 And c.Column Mod 2 = 0 Then
c.Resize(2).Merge
End If
Next
End Sub
 

HelloDy

XLDnaute Junior
Où est l'image ? Pas compris... :(
Et en ce qui concerne le stock de neurones, je croyais aussi... mais il faut se rendre à l'évidence, je suis blonde.
Merci en tout cas, la fusion fonctionne !
Et oui, en publipostage avec Word ça aurait été plus simple, c'est clair... merci de me faire remarquer à quel point je suis stupide. Snif.
 

Staple1600

XLDnaute Barbatruc
Re,

@HelloDy
Pour paraphraser le demi-frère de Gérard L.
"Je n'en connais pas de stupides
Je n'en connais que de fragiles
Et difficiles
Oui, difficiles"... à la comprenette ;)

L'image, il faut que tu la mettes by yourself où tu veux dans ta feuille et que tu la renommes*
(avec le code VBA tel qu'il est : ImaGine)
Et normalement cela doit (je répète) mochement marcher ;)

*: C'est l'image qu'il faut renommer, pas la feuille ;)
 

HelloDy

XLDnaute Junior
Ayé j'ai capté comment ça fonctionne pour l'image ! Me is so happy happy !
Juste une toute dernière question et après je retourne me cacher : est-ce qu'il est possible que l'image apparaisse centrée dans les cellules ? ou pas ?
 

Staple1600

XLDnaute Barbatruc
Re

J'ai déjà répondu à cette question (deux fois)
Et normalement cela doit (je répète) mochement marcher ;)
Subséquemment c'est pour cela que j'évoquais l'emploi de Word pour se simplifier la tâche.

Sinon, c'est possible de centrer, mais je te laisse faire les recherches idoines.
Ceci pour m'être fidèle à moi-même ;)
(ou plutôt fidèle à "ma philosophie" sur XLD: inviter le demandeur à mettre les mains dans le cambouis)
 

Staple1600

XLDnaute Barbatruc
Re

@mapomme
Bah juste pour le plaisir de jouer (oui je l'ose ;) ) avec ta raie.
Enfin avec les arrays, (les tableaux quoi), voulais-je dire ;)

Histoire de varier les flacons, pour qu'on ait l'ivresse avant d'avoir tué l'ours qui a cassé la cruche en passant sous l'échelle en voulant éviter le chat noir.

Si tu préfères on peut mixer le dico et l'array , non ?
 

Discussions similaires

Réponses
7
Affichages
514

Statistiques des forums

Discussions
312 103
Messages
2 085 323
Membres
102 862
dernier inscrit
Emma35400