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

XL 2013 VBA - macro pour ouvrir un fichier en fonction de la valeur d'une cellule

Gaalhad33

XLDnaute Nouveau
Bonjour à tous,

Je me décide à demander votre aide aujourd'hui car je peine à créer la macro dont j'aurais besoin.

Petite explication du contexte :
Je prépare actuellement un fichier excel pour une association dont je fais partie. Nous avons un pôle drone où nous tenons un inventaire et un suivi des entrées/sorties du matériels prêtés. La gestion par cahier étant devenue compliquée, nous avons décidé de passer par l'outil informatique. La saisie manuelle sur excel pouvant être longue pour ce type de matériel (réf, n de suivi, id volant etc) Je souhaiterais faciliter l'édition des bons de "sorties" grâce à une macro. J'ai créé plusieurs excel "bon de sortie" et je souhaitais qu'en fonction de la valeur de ma cellule F6, excel m'ouvre 'le bon de sortie" correspondant.

Je n'ai que très peu de connaissance concernant VBA. J'ai tenté une écriture :

Sub Macro1()
' Macro1 Macro
Range("F6").Select
If "F6" = "DJI MINI 2" Then
Workbooks.Open Filename:= _
"\\filervma41\Users\melvira\Mes Documents\Excel - drone"\DJI MINI 2.xlsx"
Windows("fichier edition.xlsm").Activate
End If
If "F6" = "DJI MINI 3" Then
Workbooks.Open Filename:= _
"\\filervma41\Users\melvira\Mes Documents\Excel - drone"\DJI MINI 3.xlsx"
Windows("fichier edition").Activate
End If
End Sub

Merci d'avance pour vos retours

Maurine
 

Pièces jointes

  • fichier edition.xlsx
    12.1 KB · Affichages: 6
Solution
Bonjour

Essaye avec cela
ps : aucune vérif. n'ai faite sur l'existence du chemin et ou fichier ... suis parti du principe qu'ils sont bons, ne changent pas et que ton chemin réseau est toujours dispo.

VB:
Sub OuvreBonSortie()
 
Dim Chemin As String
Dim Fichier As String

Chemin = "\\filervma41\Users\melvira\Mes Documents\Excel - drone"

If Range("$F$6").Value <> "" Then
    Fichier = Chemin & "\" & Range("$F$6").Value & ".xslx"
    Workbooks.Open Filename:=Fichier
Else
    MsgBox "Veulliez choisir un matériel !", vbOKOnly + vbCritical, "Erreur Signalée ..."
End If
 
End Sub

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Gaalhad,
Il semble que vous ayez un guillemet de trop dans le chemin du fichier :
VB:
Workbooks.Open Filename:= "\\filervma41\Users\melvira\Mes Documents\Excel - drone"\DJI MINI 2.xlsx"
après drone le guillemet est de trop.
Essayez :
VB:
Workbooks.Open Filename:= "\\filervma41\Users\melvira\Mes Documents\Excel - drone\DJI MINI 2.xlsx"
Même l'éditeur de XLD s'en aperçoit, la fin du nom de fichier est noir et non rouge.
 

Deadpool_CC

XLDnaute Accro
Bonjour

Essaye avec cela
ps : aucune vérif. n'ai faite sur l'existence du chemin et ou fichier ... suis parti du principe qu'ils sont bons, ne changent pas et que ton chemin réseau est toujours dispo.

VB:
Sub OuvreBonSortie()
 
Dim Chemin As String
Dim Fichier As String

Chemin = "\\filervma41\Users\melvira\Mes Documents\Excel - drone"

If Range("$F$6").Value <> "" Then
    Fichier = Chemin & "\" & Range("$F$6").Value & ".xslx"
    Workbooks.Open Filename:=Fichier
Else
    MsgBox "Veulliez choisir un matériel !", vbOKOnly + vbCritical, "Erreur Signalée ..."
End If
 
End Sub
 
Dernière édition:

Deadpool_CC

XLDnaute Accro
D'autre part, pour tes bons de sortie ... réfléchit à les mettre en ".xltx" (ou ".xltm" si tu y inclus des macros), afin que le modèle ne bouge pas et que les utilisateurs soient forcés d'enregistrer le Bon de sortie une fois fait car ils seront ouverts en tant que "nouveau" classeur avec le contenu de ton modèle.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…