XL 2019 VBA : Utiliser le résultat d'une InputBox comme critère dans une formule recherche de fichier

  • Initiateur de la discussion Initiateur de la discussion Pierre111
  • Date de début Date de début

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 !

Pierre111

XLDnaute Nouveau
Bonjour, je travaille sur un fichier et j'aimerai pouvoir utiliser le résultat obtenu dans ma fonction inputbox dans une formule.
Par exemple, si ma variable qui collecte le résultat de mon inputbox s'appelle "mavaleur"; je voudrais qu'une formule se calcule automatiquement en A2 telle que cela recherche un dossier dans mon ordinateur :
=A2 - Commun\Mes Données \Excel\Rapport semaine "mavaleur"

Je suis novice en VBA donc merci à tous ceux qui prendront le temps de m'aider !
 
Bonjour,

Vous pouvez soit :
1 - mettre le contenu de la variable "mavaleur' dans une cellule

VB:
ThisWorkbook.Sheets("LaFeuille").Range("A1") = mavaleur

2- mettre le contenu de la variable "mavaleur" dans un nom
non testé :
Code:
Sub test()
    Dim mavaleur As Variant
    mavaleur = CInt(Application.InputBox(Prompt:="Entrez un entier de 1 à 10", Default:=0, Type:=1))
    If mavaleur > 0 And mavaleur < 11 Then Application.Names.Add "toto", mavaleur
End Sub

Mais au vu de votre formule qui a toutes les chances de ne pas fonctionner telle quelle, je crois qu'il vous faudra nous donner plus d'explication et pourquoi pas un classeur exemple.

Cordialement
 
Bonjour,

Vous pouvez soit :
1 - mettre le contenu de la variable "mavaleur' dans une cellule

VB:
ThisWorkbook.Sheets("LaFeuille").Range("A1") = mavaleur

2- mettre le contenu de la variable "mavaleur" dans un nom
non testé :
Code:
Sub test()
    Dim mavaleur As Variant
    mavaleur = CInt(Application.InputBox(Prompt:="Entrez un entier de 1 à 10", Default:=0, Type:=1))
    If mavaleur > 0 And mavaleur < 11 Then Application.Names.Add "toto", mavaleur
End Sub

Mais au vu de votre formule qui a toutes les chances de ne pas fonctionner telle quelle, je crois qu'il vous faudra nous donner plus d'explication et pourquoi pas un classeur exemple.

Cordialement
Bonjour,
J'aimerais que le numéro de semaine qui est stockée grâce au inputbox "mavaleur" remplace le numéro de semaine qui est calculé automatiquement dans la cellule B2
Je sais pas si je suis clair
Mais merci pour votre aide
 

Pièces jointes

Téléchargez les fichiers joints dans le même dossier (le bureau).

Ouvrez le fichier .xlsm et cliquez sur le bouton pour exécuter cette macro :
VB:
Sub Choix()
Dim chemin$, x$, n As Byte
chemin = ThisWorkbook.Path & "\" 'à adapter
Do
    x = InputBox("Entrez 1, 2 ou 3 :", "Choix semaine", x)
    If x = "" Then Exit Sub
    n = Val(x)
Loop While IsError(Application.Match(n, [ROW(1:3)], 0))
[A2] = "='" & chemin & "[Rapport semaine " & n & ".xlsx]Feuil1'!A2" 'formule de liaison adaptable
End Sub
 

Pièces jointes

Avec les fichiers du post #4 c'est très simple, pas besoin d'InputBox :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If [E1] = "" Or Intersect(Target, [E1]) Is Nothing Then Exit Sub
Application.ScreenUpdating = False
[B:B].Replace "semaine *.xlsx", "semaine " & [E1] & ".xlsx", xlPart
End Sub
La macro se déclenche quand on modifie la valeur en E1.
 

Pièces jointes

- 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