Appel du contenu d'une cellule avec VBA

Résolu/Fermé
Tessel75 - 25 sept. 2014 à 18:15
 Tessel75 - 25 sept. 2014 à 19:25
Bonjour,
Le titre ne reflète pas le fond de la question.
J'ai une série de macros dans lesquelles je voudrais entrer la valeur d'un paramètre laquelle figure dans une certaine cellule. Mais comme les lignes de VBA où ce paramètre entre sont un peu compliquées (Commande Save As ...) je voudrais éviter d'avoir à chaque fois, pour chacune des macros utilisant cette valeur, à écrire "DRP = ThisWorkBook.sheets(1).Cells(10,2)".
Je n'arrive pas à trouver l'écriture d'une fonction, une seule pour le groupe des macros, qui me ramènerait cette valeur (DRP) dans le corps de la macro utilisatrice.
En espérant ne pas avoir été obscur, je vous remercie de votre aide.
A voir également:

3 réponses

via55 Messages postés 14405 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 25 avril 2024 2 703
25 sept. 2014 à 18:21
Bonjour

Il faut d'abord déclarer ta variable comme public pour qu'elle soit accessible de toutes les macros
En tête de module mettre
Public DRP as Integer (si variable est nombre entier) ou as Sring (si chaine) ou as Variant .....

Puis en début de la macro principale, ou à l'ouverture du classeur mettre ta ligne
DRP = ThisWorkBook.sheets(1).Cells(10,2)

Tu peux ensuite utiliser DRP comme variable dans toutes les macros

Cdlmnt
0
Merci, Via, pour la rapidité de ta réponse.
Dans le système de macros considéré, il n'y a pas de "Macro Principale", selon les besoins c'est l'une ou l'autre, oul'autre encore. Je dois donc lancer la fonction à l'ouverture du fichier. Mais alors, comment lancer la fonction à l'ouverture? Excuse mon ignorance.
0
Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 942
25 sept. 2014 à 18:45
Salut le Forum

Dans le module ThisWorkbook
Private Sub Workbook_Open()
DRP = ThisWorkBook.sheets(1).Cells(10,2)
End Sub

Et dans un Module Standard
­Public DRP as Long

Mytå
0
Merci Mytâ,
ça passe bien.
Résolu!
0