Problème avec mes macros (création d'historique, et ouverture fichier)

Chessnocoma

XLDnaute Junior
Bonjour à vous,

Je travail actuellement sur un une une plate forme qui ouvrirais des fichier grâce à différents bouton, j'ai remarquer que j'avais un soucis dans l’exécution d'une macro censé écrire la date a chaque fois qu'une certaine colonne est modifié. Cette macro ne fonctionne pas lorsque j'ouvre le fichier avec ma macro "ouvrir".

Apres plusieurs tentatives, j'ai remarquer que la macro écrivant la date ne fonctionne que lorsque j'ouvre le fichier manuellement, comment puis corriger voir contourner ce problème ?

Merci à vous, je ne m'y connais pas forcément en VBA, j'espère que vous trouverez une solution.

Voici la macro qui ouvre mon fichier

PHP:
Sub OuvrirC()

Dim Dossier As String, Fichier As String, Chemin As String
Dossier = "C:\Users\Achille\Desktop\"
Fichier = "C1.xlsx"
Chemin = Dossier & Fichier

Dim Presence As Boolean
Presence = False

For Each w In Workbooks
If w.Name = Fichier Then Presence = True
Next w

If Presence = True Then
Workbooks(Fichier).Activate
Else
Workbooks.Open Filename:=Chemin
End If
End Sub

Et voici ma macro qui qui me permet d'établir un sorte d'historique à l'interieur du fichier C1


PHP:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Column = 1 Then
Cells(Target.Row, 8).Value = Now
End If

End Sub

Je pense qu'il fraudais modifier la 2 eme macro, mais je voie pas comment faire.
Merci de votre aide

PS: Ma première macro apparaît en rouge, est ce normal ?
 
Dernière édition:

pierrejean

XLDnaute Barbatruc
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Bonjour Chessnocoma

2 curiosités

1) Tu nous parles d'une macro dans C2 . Or c'est C1 que l'on ouvre
2) C1 est un .xlsx donc un fichier sans macros

enfin je pense qu'une partie de la macro est en rouge a cause du code PHP (et non Vba)
 

Chessnocoma

XLDnaute Junior
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Oui, excuse moi, une erreur de ma part.

C'est bien C1 que l'on ouvre, et la réel extension du fichier comporte bien des macro, je ne travail pas sur le mon ordinateur habituelle
 

Papou-net

XLDnaute Barbatruc
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Bonjour Chessnocoma, pierrejean,

Sans être affirmatif, il me semble que la boucle de lecture est mal agencée :

Code:
Sub OuvrirC()

Dim Dossier As String, Fichier As String, Chemin As String
Dossier = "C:\Users\Achille\Desktop\"
Fichier = "C1.xlsx"
Chemin = Dossier & Fichier

Dim Presence As Boolean
Presence = False

For Each w In Workbooks
If w.Name = Fichier Then Presence = True
Next w

If Presence = True Then
Workbooks(Fichier).Activate
Else
Workbooks.Open Filename:=Chemin
End If
End Sub

En effet, le test de la variable Presence est effectué en sortie de boucle, donc une seule fois. Je te propose donc la modification suivante :

Code:
Sub OuvrirC()

Dim Dossier As String, Fichier As String, Chemin As String
Dossier = "C:\Users\Achille\Desktop\"
Fichier = "C1.xlsx"
Chemin = Dossier & Fichier

Dim Presence As Boolean
Presence = False

For Each w In Workbooks
  If w.Name = Fichier Then Presence = True
  If Presence = True Then
    Workbooks(Fichier).Activate
    Else
    Workbooks.Open Filename:=Chemin
  End If
Next w

End Sub

Tu peux même te dispenser de cette variable :

Code:
Sub OuvrirC()

Dim Dossier As String, Fichier As String, Chemin As String
Dossier = "C:\Users\Achille\Desktop\"
Fichier = "C1.xlsx"
Chemin = Dossier & Fichier

For Each w In Workbooks
  If w.Name = Fichier Then
    Workbooks(Fichier).Activate
    Else
    Workbooks.Open Filename:=Chemin
  End If
Next w

End Sub

Espérant avoir répondu.

Cordialement.
 

Chessnocoma

XLDnaute Junior
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Bonjour papou-net,

J'ai tester les possibilités que tu me propose, mais le message suivant s'affiche :"C1.xls est ouvert, Si vous l'ouvrez de nouveau, toutes vos modifications seront perdu. C’était justement ce message que je voulais évité en faite.

Mais cette macro n'est pas réellement un souci, ce qui me chiffonne vraiment c'est le fait que l'historique de C1 ne fonctionne pas correctement à l'ouverture par macro, tandis que lorsque je l'ouvre manuellement en passant par mes dossier, il marche parfaitement.
 

Papou-net

XLDnaute Barbatruc
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Bonjour papou-net,

J'ai tester les possibilités que tu me propose, mais le message suivant s'affiche :"C1.xls est ouvert, Si vous l'ouvrez de nouveau, toutes vos modifications seront perdu. C’était justement ce message que je voulais évité en faite.

Mais cette macro n'est pas réellement un souci, ce qui me chiffonne vraiment c'est le fait que l'historique de C1 ne fonctionne pas correctement à l'ouverture par macro, tandis que lorsque je l'ouvre manuellement en passant par mes dossier, il marche parfaitement.

Après mûre réflexion, je pense que l'hypothèse de pierrejean (fichier .xlsx, donc sans macro) se tient, mais dans ce cas, je ne comprends pas pourquoi cela fonctionne si tu l'ouvres manuellement.

Sujet à suivre.

Cordialement.
 

Chessnocoma

XLDnaute Junior
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

je vais vous joindre le fichier C1, la macro qui ne se lance pas se trouve affecter à la feuille archives, elle ne fonctionne pas au lancement par macro (ni au lancement via lien hypertexte... donc je ne pense pas que le problème viennent de la macro d'ouverture).
J'espère que ça éclaircira un peu le problème.
 

Pièces jointes

  • C1.xls
    145.5 KB · Affichages: 64
  • C1.xls
    145.5 KB · Affichages: 73
  • C1.xls
    145.5 KB · Affichages: 70

Chessnocoma

XLDnaute Junior
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Elle est censé fonctionner tout le temps normalement, mais j'ai remarquer qu'elle ne fonctionne que lorsque j'ouvre le fichier a partir du dossier.

Pour avoir une vision de mon problème, il suffit de créer un fichier excel, de faire sélectionner une cellule, de faire insertion, liens hypertexte, fichier, et alors de sélectionner C1.

Lorsque l'on clique sur cette cellule, le fichier C1 s'ouvre, mais la macro servant d'historique ne fonctionne pas.
 

Papou-net

XLDnaute Barbatruc
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Elle est censé fonctionner tout le temps normalement, mais j'ai remarquer qu'elle ne fonctionne que lorsque j'ouvre le fichier a partir du dossier.

Pour avoir une vision de mon problème, il suffit de créer un fichier excel, de faire sélectionner une cellule, de faire insertion, liens hypertexte, fichier, et alors de sélectionner C1.

Lorsque l'on clique sur cette cellule, le fichier C1 s'ouvre, mais la macro servant d'historique ne fonctionne pas.

J'ai suivi ta démarche et, apparemment, la macro fonctionne lorsque je sélectionne une cellule de la colonne A de C1.xls.

Je ne comprends plus très bien ta question : veux-tu que cette macro s'exécute à l'ouverture de C1.xls ? Dans ce cas, il faudrait la lancer depuis le module ThisWorkbook, Private Sub Workbook_Open(), mais là, je n'en vois pas bien la finalité.

A te lire.

Cordialement.
 

Chessnocoma

XLDnaute Junior
Re : Problème avec mes macros (création d'historique, et ouverture fichier)

Je pense que çà doit être un problème liée à mon ordinateur de bureau (l'antivirus bloque pas mal de chose) c'est vrai que sur mon ordinateur portable, tout se passe comme prévu.

Merci bien de votre aide en tout cas, j’espère ne pas vous avoir déranger pour rien.
Je pense que je vais tout simplement changer ma macro pour qu'elle copie la date comme valeur, merci beaucoup en tout cas.
 

Discussions similaires

Réponses
2
Affichages
185

Statistiques des forums

Discussions
312 103
Messages
2 085 316
Membres
102 860
dernier inscrit
fredo67