Renvoie cellule dans la macro

Bonjour à tous, et merci d'avance de l'aide que vous pourriez m'apporter.

J'ai un fichier Excel avec une Macro que l'on m'a fait passer.

Dans ce fichier Excel, j'ai une colonne de cellules remplie avec des valeurs.

Dans la Macro, j'ai des lignes de programme qui renvoient à cette colonne de cellules.

On voit bien dans la Macro, que la plage de cellule de A2 jusqu'à A500 de la feuille "Cadwork" est inscrite.

Cela fonctionne.

Maintenant ce que j'aimerais faire, c'est modifier cette Macro, pour que la plage de cellule prise en compte de soit pas systématiquement A2:A500.

J'aimerais que la plage de cellule prise en compte, soit la plage de cellule correspondant à un choix que je fais dans une cellule de type "liste".

Pour être plus clair, j'ai la liste suivante, située dans la feuille nommée "Insérer votre feuille ici".

Et dans la Macro, je voudrai écrire que pour l'élément de la liste "fenêtre droite 2 battants", ce soit la plage A2:A500 de la feuille "Cadwork" qui soit prise en compte, pour l'élément de la liste "fenêtre droite 1 battant" ce soit la plage B2:B500 qui soit prise en compte, et ainsi de suite !

Je n'ai aucune notion de VBA, votre aide est donc précieuse !

Merci à vous.

Bonjour KevinD,

Voilà une proposition de solution:

  • Utilisation d'une plage nommée
  • Utilisation d'une liste déroulante
  • Utilisation d'une fonction RechercheV

Si ça te convient, il faut remplacer:

Range("CADWORK!"A2:A500")

Par Range("CADWORK!" & Range("XX").Value)

(a adapter évidemment)

SI tu veux d'avantage d'aide, merci de joindre ton fichier sur lequel travailler (sans info confidentielle, juste avoir une vraie base de travail)

12kevind-test1.xlsx (8.81 Ko)

Bonjour d3d9x.

Tout d'abord, merci pour ta réponse.

Je te joins le fichier pour que tu comprennes mon problème.

En fait la plage de valeur notée dans le VBA sert pour un "export" de valeur dans un autre logiciel.

J'espère que tu arrives à comprendre où je veux en venir.

Je ne veux pas que les valeurs exportée soit systématiquement les valeurs de la plage A2:A500, mais d'une plage qui correspond au choix dans la liste déroulante.

10test-excel.zip (24.64 Ko)

Merci pour le fichier.

Je te renvoie mon fichier modifié je pense que je n'ai pas été assez clair dedans: Change la cellule en jaune et dis moi si cela te conviendrait pour ton utilisation. Le tableau d'équivalences est juste en dessous, si tu veux en modifier des lignes pour tester n'hésite pas.

PS: C'est une solution pas très optimisée, car si le nombre de lignes change à chaque fois il faut le modifier. Par contre si c'est toujours la même plage la solution devrait convenir.

Si cela te convient, j'adapterai ton fichier. Si cela ne te convient pas, dis le également

10kevind-test2.xlsx (9.11 Ko)

Je comprends ce que tu fais avec la fonction RECHERCHEV, cependant, pour l'intégrer ensuite dans la macro, je vois que tu me dis :

Si ça te convient, il faut remplacer:

Range("CADWORK!"A2:A500")

Par Range("CADWORK!" & Range("XX").Value)

Dans le cas tu fichier que tu as créé, est-ce que cela veut dire que je dois remplacer XX, par le numéro de la case où il y a le résultat (C1 dans ton fichier).

Si cela fonctionne comme ça alors ça me va très bien !

Dans la Feuil1, met à jour les plages de données souhaitées (il ne faut pas mettre de guillements pour que ça fonctionne)

Pour faire tes tests, sélectionne le type de fenetre (la plage à côté se met automatiquement à jour) et clique sur tes macros.

J'attend tes retours

13test-excel.zip (24.38 Ko)

L'export ne fonctionne pas !

Petite précision, j'ai bien modifié la plage de valeurs comme tu m'as dit.

Par contre, plutôt que de rajouter des colonnes dans la feuille "CADWORK", j'ai directement rempli mes valeurs dans deux colonnes de la feuille "Feuil1".

J'ai alors modifié Cadwork par Feuil1 dans la macro.

D'autre part, tu as mis "Feuil2" pour la correspondance de la case D2, mais cette feulle s'appelait "Insérer votre feuille ici". Je l'ai alors renommée Feuil2.

Je te joins le fichier que j'ai modifié pour que tu puisses regarder ce qui ne va pas.

Merci pour ton aide.

14test-excel-2.zip (24.61 Ko)

C'est du travail vraiment bordélique que tu es en train de faire... Méfie toi

Voilà le fichier remodifié, je te conseille très fortement de mieux l'organiser. L'exportation fonctionne (le fichier s'écrit normalement chez moi) mais le code est à revoir. Les données à extraires doivent être dans ton onglet "CADWORK"

(Ne mélange pas tes "paramètres de réglage" avec tes données...)

21test-excel-2.zip (25.00 Ko)

Ok c'est bon ça fonctionne !

J'ai pigé le principe, merci beaucoup pour ton aide.

Pas de problème. Si pour toi le sujet est résolu merci de le marquer en résolu.

Concernant ton code, je te conseille vivement d'y jeter un coup d'oeil, car si tu

  • Renomme une feuille
  • Ajoute une ligne/colonne au mauvais endroit
Plus rien ne fonctionnera correctement

Oui je vais regarder ça!

Encore merci

Rechercher des sujets similaires à "renvoie macro"