En macro vba controle d'ouverture et de sauvegarde
Résolu/Fermé
arc1947
Messages postés
4
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
21 mars 2016
-
Modifié par arc1947 le 21/03/2016 à 08:51
arc1947 Messages postés 4 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 21 mars 2016 - 21 mars 2016 à 14:47
arc1947 Messages postés 4 Date d'inscription dimanche 20 mars 2016 Statut Membre Dernière intervention 21 mars 2016 - 21 mars 2016 à 14:47
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
- Macro word - Guide
- Controle parental pc - Guide
- Sauvegarde android - Guide
2 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
Modifié par michel_m le 21/03/2016 à 09:28
Modifié par michel_m le 21/03/2016 à 09:28
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 311
21 mars 2016 à 09:54
21 mars 2016 à 09:54
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"
arc1947
Messages postés
4
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
21 mars 2016
21 mars 2016 à 10:04
21 mars 2016 à 10:04
parfait merci et bonne journée
arc1947
Messages postés
4
Date d'inscription
dimanche 20 mars 2016
Statut
Membre
Dernière intervention
21 mars 2016
Modifié par arc1947 le 21/03/2016 à 14:50
Modifié par arc1947 le 21/03/2016 à 14:50
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
21 mars 2016 à 09:43
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