La même macro fonctionne sur un de mes PC et pas sur l'autre
Fermé
Michel
-
3 juil. 2013 à 17:10
f894009 Messages postés 17233 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 janvier 2025 - 8 juil. 2013 à 08:39
f894009 Messages postés 17233 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 janvier 2025 - 8 juil. 2013 à 08:39
A voir également:
- La même macro fonctionne sur un de mes PC et pas sur l'autre
- Réinitialiser un pc - Guide
- Test performance pc - Guide
- Plus de son sur mon pc - Guide
- Télécharger musique gratuitement sur pc - Télécharger - Conversion & Extraction
- Télécharger instagram sur pc - Télécharger - Divers Communication
6 réponses
Utilisateur anonyme
3 juil. 2013 à 17:18
3 juil. 2013 à 17:18
le fichier compta se trouve bien sur l'autres ordinateur ? et peut être que excel 2013 ne fonctionne pas pareille que 2007 car vba c'est inutilisé si je me souviens bien
f894009
Messages postés
17233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 janvier 2025
1 712
6 juil. 2013 à 09:58
6 juil. 2013 à 09:58
Bonjour,
excel2013
voir la remarque faite pur utilisatin de la cellule active:
https://docs.microsoft.com/fr-fr/office/vba/excel/concepts/cells-and-ranges/working-with-the-active-cell?redirectedfrom=MSDN
Bonne suite
excel2013
voir la remarque faite pur utilisatin de la cellule active:
https://docs.microsoft.com/fr-fr/office/vba/excel/concepts/cells-and-ranges/working-with-the-active-cell?redirectedfrom=MSDN
Bonne suite
Merci pour votre réponse, j'ai bien enregistré la remarque.
C'est la ligne
Windows(Fichier_Compta).Activate
qui pose problème.
Dans l'un de mes PC, (Fichier_Compta) qui est un nom indirect, s'active bien et le programme marche bien.
Dans l'autre PC, (Fichier_Compta) ne s'active pas, bien que tout soit identique jusqu'à ce moment là.
Mais quand je remplace (Fichier_Compta) par son nom d'origine("COMPTA13.xls"), le programme fonctionne bien, quelque soit le PC.
J'ai essayé le programme sur d'autres PC équipés de Excell 2007 sur Vista, Dans certains ça marche , dans d'autres pas!
Je ne suis pas un expert de la programmation et je vais surement dire un bêtise: j'ai l'impression que sur des PC "rapides" ça ne marche pas et que sur des PC lents ça marche.
J'ai résolu le PB sans comprendre, j'en suite quitte pour changer chaque année le nom du fichier d'origine dans le programme "COMPTA13", "COMPTA14" etc, ce qui n'est pas très élégant.
Mais toute explication définitive serait la bienvenue.
Encore merci
C'est la ligne
Windows(Fichier_Compta).Activate
qui pose problème.
Dans l'un de mes PC, (Fichier_Compta) qui est un nom indirect, s'active bien et le programme marche bien.
Dans l'autre PC, (Fichier_Compta) ne s'active pas, bien que tout soit identique jusqu'à ce moment là.
Mais quand je remplace (Fichier_Compta) par son nom d'origine("COMPTA13.xls"), le programme fonctionne bien, quelque soit le PC.
J'ai essayé le programme sur d'autres PC équipés de Excell 2007 sur Vista, Dans certains ça marche , dans d'autres pas!
Je ne suis pas un expert de la programmation et je vais surement dire un bêtise: j'ai l'impression que sur des PC "rapides" ça ne marche pas et que sur des PC lents ça marche.
J'ai résolu le PB sans comprendre, j'en suite quitte pour changer chaque année le nom du fichier d'origine dans le programme "COMPTA13", "COMPTA14" etc, ce qui n'est pas très élégant.
Mais toute explication définitive serait la bienvenue.
Encore merci
lermite222
Messages postés
8724
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 191
Modifié par lermite222 le 6/07/2013 à 23:23
Modifié par lermite222 le 6/07/2013 à 23:23
Bonjour,
Plusieurs remarques ou pistes
1°) tu peu remplacer les trois lignes..
par
ou
C'est la même chose mais en plus simple.
2°) essaye en mettant
au lieu de Windows.
Et si ça va pas essaye avec un objet
Tu peu t'en servir simplement..
Si pas solutionner.. Fichier_Compta est toujours dans le même répertoire ?
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
Plusieurs remarques ou pistes
1°) tu peu remplacer les trois lignes..
Range("A1").Select Selection.End(xlDown).Select DerLigneJournal = ActiveCell.RowSheets(Journal).Select
par
DerLigneJournal = Cells(Rows.Count, 1).End(xlUp).Row
ou
DerLigneJournal = Cells(1, 1).End(xlDown).Row
C'est la même chose mais en plus simple.
2°) essaye en mettant
WorkBooks(Fichier_Compta).Activate
au lieu de Windows.
Et si ça va pas essaye avec un objet
Dim Fichier_Compta as WorkBook Set Fichier_Compta=workbooks(Chemin & "nomDuClasseur.xlsm" ) ' qui doit bien être déterminer quelque part ?
Tu peu t'en servir simplement..
Fichier_Compta.Select
Si pas solutionner.. Fichier_Compta est toujours dans le même répertoire ?
A+
Si tu te cognes à un pot et que ça sonne creux, c'est pas forcément le pot qui est vide. ;-)(Confucius)
Note: Je ne répond pas aux MP pour les questions techniques. Et ma boule de cristal est cassée .
f894009
Messages postés
17233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 janvier 2025
1 712
7 juil. 2013 à 10:41
7 juil. 2013 à 10:41
Bonjour,
Comment affectez-vous la variable Fichier_Compta ??
Comment affectez-vous la variable Fichier_Compta ??
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
voila comment est affectée la variable Fichier-Compta.
un peu avant le test des longueurs des journaux, dans le programme, on vérifie que le fichier COMPTA 20nn (ici COMPTA 2013) existe bien dans le répertoire et on l'ouvre.
L'indication "COMPTA13" est contenue dans la cellule A2 de la feuille "Structure" du fichier "Application-Resultat", qui est le seul fichier ouvert à ce moment là
Voir ci-dessous
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
'Cherche si le fichier Compta 20nn est ouvert
' si Compta 20nn n'est pas ouvert, procède à son ouverture
'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Range("A2").Select
Fichier_Compta = ActiveCell.Value
Fichier_a_ouvrir = ThisWorkbook.Path & "\" & Fichier_Compta
On Error Resume Next
Windows(Fichier_Compta).Activate
If Err.Number = 9 Then
Err.Number = 0
Workbooks.Open Filename:=Fichier_a_ouvrir
End If
Cette routine marche bien dans tous les cas et lors du debogage pas à pas, on voit bien le fichier Compta13 s'ouvrir et il reste ouvert.
C'est lors du test sur la longueur des journaux, que les comportements divergent.
Dans le cas correct on va bien dans les feuilles "journaux" de "Compta 13" relever la valeur des dernières lignes, et la comparaison est OK
Lors du fonctionnement incorrect, la dernière ligne est systématiquement fixée à la valeur 2. comme si on ne lisait pas les journaux de "COMPTA 13" mais la feuille "Structure" de "Application-Resultat" qui ne contient que deux lignes en colonne A.
voila comment est affectée la variable Fichier-Compta.
un peu avant le test des longueurs des journaux, dans le programme, on vérifie que le fichier COMPTA 20nn (ici COMPTA 2013) existe bien dans le répertoire et on l'ouvre.
L'indication "COMPTA13" est contenue dans la cellule A2 de la feuille "Structure" du fichier "Application-Resultat", qui est le seul fichier ouvert à ce moment là
Voir ci-dessous
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
'Cherche si le fichier Compta 20nn est ouvert
' si Compta 20nn n'est pas ouvert, procède à son ouverture
'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
Range("A2").Select
Fichier_Compta = ActiveCell.Value
Fichier_a_ouvrir = ThisWorkbook.Path & "\" & Fichier_Compta
On Error Resume Next
Windows(Fichier_Compta).Activate
If Err.Number = 9 Then
Err.Number = 0
Workbooks.Open Filename:=Fichier_a_ouvrir
End If
Cette routine marche bien dans tous les cas et lors du debogage pas à pas, on voit bien le fichier Compta13 s'ouvrir et il reste ouvert.
C'est lors du test sur la longueur des journaux, que les comportements divergent.
Dans le cas correct on va bien dans les feuilles "journaux" de "Compta 13" relever la valeur des dernières lignes, et la comparaison est OK
Lors du fonctionnement incorrect, la dernière ligne est systématiquement fixée à la valeur 2. comme si on ne lisait pas les journaux de "COMPTA 13" mais la feuille "Structure" de "Application-Resultat" qui ne contient que deux lignes en colonne A.
f894009
Messages postés
17233
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 janvier 2025
1 712
Modifié par f894009 le 8/07/2013 à 08:40
Modifié par f894009 le 8/07/2013 à 08:40
Bonjour,
essayez ceci:
Windows(Fichier_Compta).Activate
Sheets(Journal).Activate
DerLigneJournal = Sheets(Journal).Range("A" & Rows.Count).End(xlUp).Row
la variable journal est-elle bien affectee ???
essayez ceci:
Windows(Fichier_Compta).Activate
Sheets(Journal).Activate
DerLigneJournal = Sheets(Journal).Range("A" & Rows.Count).End(xlUp).Row
la variable journal est-elle bien affectee ???
3 juil. 2013 à 17:40