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

Modification nom de fichier dans macro

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

titi55

XLDnaute Nouveau
Bonjour,


Dans l'exrait de macro suivante, je voudrais que la macro ouvre indifféremment les onglets intitulés "Matrice Décompte2 S.C" ou "Décompte2 S.C" (c'est soit l'un soit l'autre), quelqu'un pourrait-il m'indiquer ce qu'il faut rajouter?

For Lig = 1 To Dlig
' Récupérer le nom du fichier
VFic = Sheets("Feuil1").Range("A" & Lig).Value
If Right(VFic, 4) <> ".xls" Then VFic = VFic & ".xls"
' Ouvrir le fichier en question
Workbooks.Open VPath & VFic
' Définir la feuille source
Set ShtS = ActiveWorkbook.Sheets("Matrice Décompte2 S.C")
' Récupérer la dernière ligne du tableau, colonne en fonction
DLigF = ShtS.Range("B" & Rows.Count).End(xlUp).Row
' Copier et coller le tableau
ShtS.Range("A1:J" & DLigF).Copy Destination:=ShtD.Range("A" & NextLig)
' Recalculer la prochaine ligne pour le tableau
NextLig = ShtD.Range("B" & Rows.Count).End(xlUp).Row + 2
' Efface la variable objet pour la feuille source
Set ShtS = Nothing
' Ferme le classeur actif en le sauvegardant
ActiveWorkbook.Close SaveChanges:=True
Next Lig


Merci.
 
Re : Modification nom de fichier dans macro

Bonsoir,

pas sûr d'avoir bien compris... peut être ainsi :
Code:
Set ShtS = ActiveWorkbook.Sheets("Matrice Décompte2 S.C")
ShtS.Activate
bonne soirée
@+
 
Re : Modification nom de fichier dans macro

Bonjour Pierrot93,

En fait, dans les fichiers que j'ouvre, l'onglet sur lequel je veux récupérer des données se nomme quelquefois " "Matrice Décompte2 S.C" et d'autres fois "Décompte2 S.C".

Je souhaite que la macro fonctione dans les 2 cas.
 
Re : Modification nom de fichier dans macro

Re,

essaye ceci alors... :
Code:
Sub TestFeuilleExiste()
Dim f As String, ws As Worksheet
If Not FeuilleExiste("Matrice Décompte2 S.C") Is Nothing Then
    Set ws = Sheets("Matrice Décompte2 S.C")
Else
    If Not FeuilleExiste("Matrice Décompte2 S.C") Is Nothing Then _
    Set ws = Sheets("Décompte2 S.C") Else MsgBox "feuille non trouvée": Exit Sub
End If
End Sub
Function FeuilleExiste(f As String) As Worksheet
On Error Resume Next
Set FeuilleExiste = Worksheets(f)
End Function
 
- 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

Réponses
9
Affichages
730
Réponses
3
Affichages
1 K
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…