Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Macro - Index pour appelle a des ficheirs *.xlsx

  • Initiateur de la discussion Initiateur de la discussion ssassam
  • 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 !

ssassam

XLDnaute Occasionnel
Bonjour ,

Svp j'ai besoin d'aide pour la préparation d'un macro de gestion

Mon Idée c’est de créer un Index lorsque je tu clique sur un compte 34221111 dans la cellule A1 par exemple il me fait appelle au fichiers d’analyse (*.xlsx) qui se trouve dans mon Disque dur

NB j'aurais plusieurs comptes dans la Coline A

34220001
34220002
34220003
34220004
34220005
34220006

Merci d'avance
 
Re : Macro - Index pour appelle a des ficheirs *.xlsx

Hello ssassam.

Les quelques lignes suivantes me paraissent être un bon début d'élément de réponse à ta question :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Column = 1 Then
      On Error Resume Next
      Workbooks.Open ("Ton_chemin/" & Target.Value & ".xlsx")
    End If
End Sub
C'est une macro événementielle qui se déclenche à chaque changement de cellules de la feuille. Si la cellule sélectionnée est dans la colonne A alors on ouvre le fichier qui est placé dans : Ton_chemin/Valeur_cellule_sélectionnée.xlsx. Il te faut bien entendu changer le nom du chemin par celui que tu souhaites ; cela marche uniquement si tous les fichiers sont stockés dans le même dossier. La gestion d'erreur permet de ne rien faire si un classeur n'existe pas et/ou ne peut être ouvert.
 
Re : Macro - Index pour appelle a des ficheirs *.xlsx

Merci beaucoup MatiChoux je fait un test et ce na pas marché , peut etre que c'ets suite a une fausse manipulation ne ma part , Stp merci de me corriger 😱 Voila ci-joint mes fichier que je pose sur mon bureau
 

Pièces jointes

Dernière édition:
Re : Macro - Index pour appelle a des ficheirs *.xlsx

En fait il suffit de placer ces quelques lignes (modification de mon code précédent) :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 1 And Target.Value <> "" Then Workbooks.Open ("C:\Users\RWMC3040\Desktop\TEST\" & Target.Value & ".xlsx")
End Sub
Il faut vérifier que la cellule sélectionnée soit en colonne A ET que la cellule selectionnée contienne une valeur (sinon ça va générer une erreur puisque l'on essaie d'ouvrir un fichier vide/inexistant). J'ai essayé sur mon propre bureau et cela fonctionne [assure toi que le chemin renseigné soit correct].
 
Re : Macro - Index pour appelle a des ficheirs *.xlsx

Ça marche a 100% avec cette modification , est ce que c'est possible d’ajouté un MSg BOX lorsqu'un compte et introuvable ?

J'ai essayé mais j'ai pas le niveau a faire ce truc
Ci-après mon Code

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 1 And Target.Value <> "" Then Workbooks.Open ("C:\TEST\Analyse\" & Target.Value & ".xlsx")


If Not Target Is Nothing Then MsgBox " Pas Trouvé !"
End Sub
 
Re : Macro - Index pour appelle a des ficheirs *.xlsx

Normal qu'il ne te renvoit rien, qu'il n'affiche pas ton MsgBox puisque tu lui dis que si aucune cellule n'est sélectionnée dans ta feuille alors le MsgBox doit s'afficher ; ce qui est impossible puisque tu auras toujours au minimum une cellule sélectionnée. 😛

Alors tu peux par exemple ajouter un autre If avec Else dans le If précédent pour avoir un truc du genre :
Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  If Target.Column = 1 Then
    If Target.Value <> "" 
       Workbooks.Open ("C:\TEST\Analyse\" & Target.Value & ".xlsx")
    Else
       MsgBox "Classeur non trouvé."
    End If
  End If
End Sub
En gros si tu sélectionnes une cellule dans la colonne A, alors on teste si la cellule est vide ou non. Si elle l'est alors on affiche le MsgBox sinon on ouvre le classeur. L'avantage c'est que la MsgBox ne s'affiche que si on sélectionne une cellule vide de la colonne A [et non dans l'ensemble de la feuille].
 
Dernière édition:
Re : Macro - Index pour appelle a des ficheirs *.xlsx

Oui merci voici un fichier test le code marche bien sauf pour le MSG box il m'affiche une erreur de débogage s'il ne trouve pas le classeur 😛 Dommage en tout les cas c'est super ce que tu as fait. et je n'arrive pas a identifié le problème
 

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

M
Réponses
3
Affichages
2 K
M
Réponses
41
Affichages
5 K
lyesse1
L
S
Réponses
2
Affichages
1 K
SeishuSlash
S
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…