En macro vba controle d'ouverture et de sauvegarde
Résolu
arc1947
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
arc1947 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
arc1947 Messages postés 4 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je veux controler si chaque fichier que j'ai a ouvrir sont ouverts et modifiés ou non pour les sauvegarder ou non (sans message)
s'ils ne sont pas ouverts les ouvrir
dans une macro
le "nomfichier" en variable
Dim nomfichier As ???
nomfichier="x:\chemin\nomfichier.xls"
je souhaite tester si un "x:\chemin\nomfichier.xls" est dejà ouvert
s'il a besoin d'être sauvegarder car modifié le sauvegarder sans mise a jour des liens et sans message
s'il n'a pas ete modifié terminer
s'il n'est pas ouvert l'ouvrir sans message de mise a jour des liens et sans message
car après de nombreuses recherches je n'arrive pas a créer une macro vba qui fonctionne correctement sur des fonctions qui me semble de base pour une ouverture de chaque fichier
merci a tous
je veux controler si chaque fichier que j'ai a ouvrir sont ouverts et modifiés ou non pour les sauvegarder ou non (sans message)
s'ils ne sont pas ouverts les ouvrir
dans une macro
le "nomfichier" en variable
Dim nomfichier As ???
nomfichier="x:\chemin\nomfichier.xls"
je souhaite tester si un "x:\chemin\nomfichier.xls" est dejà ouvert
s'il a besoin d'être sauvegarder car modifié le sauvegarder sans mise a jour des liens et sans message
s'il n'a pas ete modifié terminer
s'il n'est pas ouvert l'ouvrir sans message de mise a jour des liens et sans message
car après de nombreuses recherches je n'arrive pas a créer une macro vba qui fonctionne correctement sur des fonctions qui me semble de base pour une ouverture de chaque fichier
merci a tous
A voir également:
- En macro vba controle d'ouverture et de sauvegarde
- Logiciel de sauvegarde gratuit - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Sauvegarde android - Guide
- Page d'ouverture google - Guide
2 réponses
Bonjour
fich: chemin complet du classeur par ex: "d/docus/classeur1.xlsx"
dans la procédure principale:
Michel
fich: chemin complet du classeur par ex: "d/docus/classeur1.xlsx"
Function FichOuvert(Fichier As String) As Boolean
Dim Wk As Workbook
On Error Resume Next
Set Wk = Workbooks(Fichier)
On Error GoTo 0
FichOuvert = Not Wk Is Nothing
End Function
dans la procédure principale:
If FichOuvert(fich) Then
With Workbooks(fich)
If Not .Saved Then
.Save
End If
.Close 'si on veut refermer le classeur
End With
End If
Michel
Un des doucis de tout bidouilleur est de ne pas réinventer la science à chaque nouvelle application:
l'intérêt des fonctions est donc de se constituer une bibliothèque de procédures "doliprane"
l'intérêt des fonctions est donc de se constituer une bibliothèque de procédures "doliprane"
j'ai testé mais je ne comprends pas comment et ou dans la macro principale s'actionne la fonction "fichouvert" (fichier doit il etre le nom du fichier a tester) comment l'integrer si on le defini par une variable dans dim et wk doit correspondre a quoi
et le With Workbooks génére une erreur
pardon voilà beaucoup de questions je suis désolé
je suis sous excel 2007
Function FichOuvert(fichier As String) As Boolean
Dim Wk As Workbook
On Error Resume Next
Set Wk = Workbooks(fichier)
On Error GoTo 0
FichOuvert = Not Wk Is Nothing
End Function
Sub a_999_test()
If FichOuvert("x:\1_money\1__xxp\fich_.xls") Then
With Workbooks("x:\1_money\1__xxp\fich_.xls", UpdateLinks:=0)
If Not .Saved Then
.Save
End If
.Close 'si on veut refermer le classeur
End With
End If
End Sub
et le With Workbooks génére une erreur
pardon voilà beaucoup de questions je suis désolé
je suis sous excel 2007
Function FichOuvert(fichier As String) As Boolean
Dim Wk As Workbook
On Error Resume Next
Set Wk = Workbooks(fichier)
On Error GoTo 0
FichOuvert = Not Wk Is Nothing
End Function
Sub a_999_test()
If FichOuvert("x:\1_money\1__xxp\fich_.xls") Then
With Workbooks("x:\1_money\1__xxp\fich_.xls", UpdateLinks:=0)
If Not .Saved Then
.Save
End If
.Close 'si on veut refermer le classeur
End With
End If
End Sub
merci infiniment de la réponse et de la réponse très rapide
je vais tester mais ne doute pas de la qualité de la solution
si dans le programme principale j'annonce simplement le dim "nom du fichier " et un
Application.Run "ficheouvert" pour aller vers la macro sub fichouvert au lieu d'utilier function.
un avantage de l'usage de fonction? afin de tester plusieurs ouvertures dans des macros diverses.
merci encore