Quicksland
XLDnaute Occasionnel
Bonjour Sylvanu
Il y a quelques temps vous êtes intervenu sur un soucis que j'avais sur un fichier ( exécution macro a l ouverture du classeur)
Vous avez trouver une solution qui fonctionne super bien surtout que cette solution peut s'adapter a d'autres fichiers
J'ai un fichier " Synthèse d'heures " qui va rechercher les infos dans plusieurs fichiers source
jusque la tout fonctionne parfaitement
pour mémoire ci-dessous exemple du code
' Pour chaque jour il faut modifier les noms de :
' Chemin, NomFichier, NomOnglet, ainsi evidemment que le Tablo des adresses, exemple :
' Chemin = "C:\Users\LAURENT\Desktop\PROJET RP\MOIS\11 NOVEMBRE\" Nom du chemin, doit se terminer par \"
' NomFichier = "FEUILLE D'HEURES ANNE.xlsm" Nom du fichier à lire
' OngletLu = "FEUILLE D'HEURES" Nom de l'onglet à lire
' NomOnglet = "NOVEMBRE" Nom de l'onglet à écrire
' Déclaration tableau adresses. Ce tableau est organisé avec Plage à écrire, virgule, Plage à lire
Tablo = Array("C5", "C5", "D5", "D5", "E5", "E5", "F5", "F5", "G5", "G5", "H5", "H5", "I5", "I5", "J5", "J5", "K5", "K5")
' Mise à jour de l'onglet (macro dans ThisWorkbook )
UpdateSheet
End Sub
Sub UpdateSheet()
' NE PAS TOUCHER, c'est un module standard qui reçoit ses infos par les variables public.
' Met à jour l'onglet avec les données du fichier lu.
Fichier = Chemin & NomFichier ' Construction du nom complet du fichier à lire
Workbooks.Open Filename:=Fichier ' Ouverture du fichier à lire
Workbooks(CeFichier).Activate ' Activation classeur à écrire
With Workbooks(CeFichier).Sheets(NomOnglet) ' Avec le fichier à écrire
For i = 0 To UBound(Tablo) Step 2 ' Mise à jour des données
.Range(Tablo(i)) = Workbooks(NomFichier).Sheets(OngletLu).Range(Tablo(i + 1)) ' Ecriture de la donnée
Next i
End With
Workbooks(NomFichier).Close SaveChanges:=False ' Fermeture fichier source sans enregistrer
End Sub
Mais lorsque je supprime un fichier source , "FEUILLE D'HEURES ANNE.xlsm", a l'ouverture du fichier " Synthèse d'heures " l'userform " débogage " apparait !
ma question est il possible que lorsque un fichier source ou plusieurs son supprimer le code fonctionne quand même
Merci pour ton aide
Il y a quelques temps vous êtes intervenu sur un soucis que j'avais sur un fichier ( exécution macro a l ouverture du classeur)
Vous avez trouver une solution qui fonctionne super bien surtout que cette solution peut s'adapter a d'autres fichiers
J'ai un fichier " Synthèse d'heures " qui va rechercher les infos dans plusieurs fichiers source
jusque la tout fonctionne parfaitement
pour mémoire ci-dessous exemple du code
' Pour chaque jour il faut modifier les noms de :
' Chemin, NomFichier, NomOnglet, ainsi evidemment que le Tablo des adresses, exemple :
' Chemin = "C:\Users\LAURENT\Desktop\PROJET RP\MOIS\11 NOVEMBRE\" Nom du chemin, doit se terminer par \"
' NomFichier = "FEUILLE D'HEURES ANNE.xlsm" Nom du fichier à lire
' OngletLu = "FEUILLE D'HEURES" Nom de l'onglet à lire
' NomOnglet = "NOVEMBRE" Nom de l'onglet à écrire
' Déclaration tableau adresses. Ce tableau est organisé avec Plage à écrire, virgule, Plage à lire
Tablo = Array("C5", "C5", "D5", "D5", "E5", "E5", "F5", "F5", "G5", "G5", "H5", "H5", "I5", "I5", "J5", "J5", "K5", "K5")
' Mise à jour de l'onglet (macro dans ThisWorkbook )
UpdateSheet
End Sub
Sub UpdateSheet()
' NE PAS TOUCHER, c'est un module standard qui reçoit ses infos par les variables public.
' Met à jour l'onglet avec les données du fichier lu.
Fichier = Chemin & NomFichier ' Construction du nom complet du fichier à lire
Workbooks.Open Filename:=Fichier ' Ouverture du fichier à lire
Workbooks(CeFichier).Activate ' Activation classeur à écrire
With Workbooks(CeFichier).Sheets(NomOnglet) ' Avec le fichier à écrire
For i = 0 To UBound(Tablo) Step 2 ' Mise à jour des données
.Range(Tablo(i)) = Workbooks(NomFichier).Sheets(OngletLu).Range(Tablo(i + 1)) ' Ecriture de la donnée
Next i
End With
Workbooks(NomFichier).Close SaveChanges:=False ' Fermeture fichier source sans enregistrer
End Sub
Mais lorsque je supprime un fichier source , "FEUILLE D'HEURES ANNE.xlsm", a l'ouverture du fichier " Synthèse d'heures " l'userform " débogage " apparait !
ma question est il possible que lorsque un fichier source ou plusieurs son supprimer le code fonctionne quand même
Merci pour ton aide