Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Macro compatible Excel 97

8 réponses
Avatar
franck001
Bonjour à tous,

j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire (avec
votre aide du reste) une macro sous Excel 2007, cette dernière est bien
compatible avec excel 2000 mais quand je l'essaie sur le poste de destination
(sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
quelle point je dois changer , voici ma macro:

"Sub Imprimer_Fiche()
Dim NbDeCopies As Integer
Dim NoDeDepart As Long
On Error Resume Next
With Worksheets("Recto") 'Nom de la feuille
If .Range("B1") * .Range("F8") > 0 Then
'Plage de cellules à imprimer
.PageSetup.PrintArea = .Range("A4:J54").Address
NoDeDepart = .Range("F8") 'à modifier
NbDeCopies = .Range("B1") 'à modifier
Application.EnableEvents = False
For a = 1 To NbDeCopies
.Range("F8") = NoDeDepart + a - 1
.PrintOut
Next
Application.EnableEvents = True
.PageSetup.PrintArea = ""
Else
MsgBox "Le numéro de fiche suiveuse de départ ou " & _
vbCrLf & "le nombre de copies n'est pas indiqué.", _
vbCritical + vbOKOnly, "Attention"
End If
End With
'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
fiche
'ThisWorkbook.Save
End Sub"

Merci à tous

------(-_-)°zZz------
Franck
http://www.deschamps-web.com

8 réponses

Avatar
AV
Il n'y a strictement rien, sur le plan de la syntaxe vba, qui puisse chagriner
XL 97 dans le code que tu fournis !
Il faut donc chercher ailleurs...(type de fichier choisi à l'enregistrement ?°

AV
Avatar
franck001
Ben j'ai choisi classeur Excel 97-2003 ce qui me génère un ficher .XLS que
j'arrive très bien à ouvrir, les formules fonctionnent mais quand je vais
dans Outils/Macro...pour lancer la mienne je ne peux pas l'exécuter bien
qu'il la voit.
Je pensais à un problème d'interprétation (ex: "A4:J54") je sais que
certaines fois il faut travailler avec des numéros d elignes et de colonnes...

D'autres idées ?

------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"AV" a écrit :

Il n'y a strictement rien, sur le plan de la syntaxe vba, qui puisse chagriner
XL 97 dans le code que tu fournis !
Il faut donc chercher ailleurs...(type de fichier choisi à l'enregistrement ?°

AV





Avatar
michdenis
Tu as des guillemets avant Sub et après End Sub...
ta macro ne doit pas être visible dans la fenêtre
des macros "Alt + F8" ....Est-ce que ces guillemets
sont aussi présents dans le module de ton classeur ?
si oui, enlève-les.



"franck001" a écrit dans le message de
news:
Bonjour à tous,

j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire (avec
votre aide du reste) une macro sous Excel 2007, cette dernière est bien
compatible avec excel 2000 mais quand je l'essaie sur le poste de
destination
(sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
quelle point je dois changer , voici ma macro:

"Sub Imprimer_Fiche()
Dim NbDeCopies As Integer
Dim NoDeDepart As Long
On Error Resume Next
With Worksheets("Recto") 'Nom de la feuille
If .Range("B1") * .Range("F8") > 0 Then
'Plage de cellules à imprimer
.PageSetup.PrintArea = .Range("A4:J54").Address
NoDeDepart = .Range("F8") 'à modifier
NbDeCopies = .Range("B1") 'à modifier
Application.EnableEvents = False
For a = 1 To NbDeCopies
.Range("F8") = NoDeDepart + a - 1
.PrintOut
Next
Application.EnableEvents = True
.PageSetup.PrintArea = ""
Else
MsgBox "Le numéro de fiche suiveuse de départ ou " & _
vbCrLf & "le nombre de copies n'est pas indiqué.", _
vbCritical + vbOKOnly, "Attention"
End If
End With
'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
fiche
'ThisWorkbook.Save
End Sub"

Merci à tous

------(-_-)°zZz------
Franck
http://www.deschamps-web.com
Avatar
franck001
Merci michdenis mais les guillemets sont juste rajouter dans ce forum pour
encadrer mon code, elles ne sont pas sur le ficheir excel.
Quand je demande ma liste de macro sous 97 je l'ai qui s'affiche mais quand
je suis dessus je ne peux pas cliquer sur exécuter ni même sur modifier du
reste.....

Une idée ?
--
------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"michdenis" a écrit :

Tu as des guillemets avant Sub et après End Sub...
ta macro ne doit pas être visible dans la fenêtre
des macros "Alt + F8" ....Est-ce que ces guillemets
sont aussi présents dans le module de ton classeur ?
si oui, enlève-les.



"franck001" a écrit dans le message de
news:
Bonjour à tous,

j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire (avec
votre aide du reste) une macro sous Excel 2007, cette dernière est bien
compatible avec excel 2000 mais quand je l'essaie sur le poste de
destination
(sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
quelle point je dois changer , voici ma macro:

"Sub Imprimer_Fiche()
Dim NbDeCopies As Integer
Dim NoDeDepart As Long
On Error Resume Next
With Worksheets("Recto") 'Nom de la feuille
If .Range("B1") * .Range("F8") > 0 Then
'Plage de cellules à imprimer
.PageSetup.PrintArea = .Range("A4:J54").Address
NoDeDepart = .Range("F8") 'à modifier
NbDeCopies = .Range("B1") 'à modifier
Application.EnableEvents = False
For a = 1 To NbDeCopies
.Range("F8") = NoDeDepart + a - 1
.PrintOut
Next
Application.EnableEvents = True
.PageSetup.PrintArea = ""
Else
MsgBox "Le numéro de fiche suiveuse de départ ou " & _
vbCrLf & "le nombre de copies n'est pas indiqué.", _
vbCritical + vbOKOnly, "Attention"
End If
End With
'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
fiche
'ThisWorkbook.Save
End Sub"

Merci à tous

------(-_-)°zZz------
Franck
http://www.deschamps-web.com




Avatar
michdenis
As-tu essayé d'ajouter un nouveau module standard et
copié ta macro dedans... La macro ne devrait pas être
problématique !


"franck001" a écrit dans le message de
news:
Merci michdenis mais les guillemets sont juste rajouter dans ce forum pour
encadrer mon code, elles ne sont pas sur le ficheir excel.
Quand je demande ma liste de macro sous 97 je l'ai qui s'affiche mais quand
je suis dessus je ne peux pas cliquer sur exécuter ni même sur modifier du
reste.....

Une idée ?
--
------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"michdenis" a écrit :

Tu as des guillemets avant Sub et après End Sub...
ta macro ne doit pas être visible dans la fenêtre
des macros "Alt + F8" ....Est-ce que ces guillemets
sont aussi présents dans le module de ton classeur ?
si oui, enlève-les.



"franck001" a écrit dans le message
de
news:
Bonjour à tous,

j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire
(avec
votre aide du reste) une macro sous Excel 2007, cette dernière est bien
compatible avec excel 2000 mais quand je l'essaie sur le poste de
destination
(sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
quelle point je dois changer , voici ma macro:

"Sub Imprimer_Fiche()
Dim NbDeCopies As Integer
Dim NoDeDepart As Long
On Error Resume Next
With Worksheets("Recto") 'Nom de la feuille
If .Range("B1") * .Range("F8") > 0 Then
'Plage de cellules à imprimer
.PageSetup.PrintArea = .Range("A4:J54").Address
NoDeDepart = .Range("F8") 'à modifier
NbDeCopies = .Range("B1") 'à modifier
Application.EnableEvents = False
For a = 1 To NbDeCopies
.Range("F8") = NoDeDepart + a - 1
.PrintOut
Next
Application.EnableEvents = True
.PageSetup.PrintArea = ""
Else
MsgBox "Le numéro de fiche suiveuse de départ ou " & _
vbCrLf & "le nombre de copies n'est pas indiqué.", _
vbCritical + vbOKOnly, "Attention"
End If
End With
'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
fiche
'ThisWorkbook.Save
End Sub"

Merci à tous

------(-_-)°zZz------
Franck
http://www.deschamps-web.com




Avatar
Yvripol
Bonjour,
Pour ma part n'ayant pas Excel sur mon poste j'ai copié ton Sub sur une
disquette et sur le poste de madame, j'ai fait un import a partir de VbA,
dans un classeur vide. Elle est reconnue et fonctionne (même s'il ne se
passe rien ;-)).



"franck001" a écrit dans le message de
news:
Bonjour à tous,

j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire


(avec
votre aide du reste) une macro sous Excel 2007, cette dernière est bien
compatible avec excel 2000 mais quand je l'essaie sur le poste de


destination
(sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
quelle point je dois changer , voici ma macro:

"Sub Imprimer_Fiche()
Dim NbDeCopies As Integer
Dim NoDeDepart As Long
On Error Resume Next
With Worksheets("Recto") 'Nom de la feuille
If .Range("B1") * .Range("F8") > 0 Then
'Plage de cellules à imprimer
.PageSetup.PrintArea = .Range("A4:J54").Address
NoDeDepart = .Range("F8") 'à modifier
NbDeCopies = .Range("B1") 'à modifier
Application.EnableEvents = False
For a = 1 To NbDeCopies
.Range("F8") = NoDeDepart + a - 1
.PrintOut
Next
Application.EnableEvents = True
.PageSetup.PrintArea = ""
Else
MsgBox "Le numéro de fiche suiveuse de départ ou " & _
vbCrLf & "le nombre de copies n'est pas indiqué.", _
vbCritical + vbOKOnly, "Attention"
End If
End With
'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
fiche
'ThisWorkbook.Save
End Sub"

Merci à tous

------(-_-)°zZz------
Franck
http://www.deschamps-web.com


Avatar
franck001
Merci à vous tous, je viens d'essayer sur un autre poste et cela fonctionne
en effet, je vais voir du côté des protection macro sur cet Excel en
particulier

------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"Yvripol" a écrit :

Bonjour,
Pour ma part n'ayant pas Excel sur mon poste j'ai copié ton Sub sur une
disquette et sur le poste de madame, j'ai fait un import a partir de VbA,
dans un classeur vide. Elle est reconnue et fonctionne (même s'il ne se
passe rien ;-)).



"franck001" a écrit dans le message de
news:
> Bonjour à tous,
>
> j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire
(avec
> votre aide du reste) une macro sous Excel 2007, cette dernière est bien
> compatible avec excel 2000 mais quand je l'essaie sur le poste de
destination
> (sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
> tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
> vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
> quelle point je dois changer , voici ma macro:
>
> "Sub Imprimer_Fiche()
> Dim NbDeCopies As Integer
> Dim NoDeDepart As Long
> On Error Resume Next
> With Worksheets("Recto") 'Nom de la feuille
> If .Range("B1") * .Range("F8") > 0 Then
> 'Plage de cellules à imprimer
> .PageSetup.PrintArea = .Range("A4:J54").Address
> NoDeDepart = .Range("F8") 'à modifier
> NbDeCopies = .Range("B1") 'à modifier
> Application.EnableEvents = False
> For a = 1 To NbDeCopies
> .Range("F8") = NoDeDepart + a - 1
> .PrintOut
> Next
> Application.EnableEvents = True
> .PageSetup.PrintArea = ""
> Else
> MsgBox "Le numéro de fiche suiveuse de départ ou " & _
> vbCrLf & "le nombre de copies n'est pas indiqué.", _
> vbCritical + vbOKOnly, "Attention"
> End If
> End With
> 'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
> fiche
> 'ThisWorkbook.Save
> End Sub"
>
> Merci à tous
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com





Avatar
franck001
Je confirme MichDenis, tu as raison, la macro est bien "libérée" lors d'une
copie dans un module et une fois retirée de la feuille Excel.
En revanche cette nécessité n'est pas obligatoire sous certaines versions
d'Excel 97 l'anglaise par exemple)....byzarre.

------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"michdenis" a écrit :

As-tu essayé d'ajouter un nouveau module standard et
copié ta macro dedans... La macro ne devrait pas être
problématique !


"franck001" a écrit dans le message de
news:
Merci michdenis mais les guillemets sont juste rajouter dans ce forum pour
encadrer mon code, elles ne sont pas sur le ficheir excel.
Quand je demande ma liste de macro sous 97 je l'ai qui s'affiche mais quand
je suis dessus je ne peux pas cliquer sur exécuter ni même sur modifier du
reste.....

Une idée ?
--
------(-_-)°zZz------
Franck
http://www.deschamps-web.com


"michdenis" a écrit :

> Tu as des guillemets avant Sub et après End Sub...
> ta macro ne doit pas être visible dans la fenêtre
> des macros "Alt + F8" ....Est-ce que ces guillemets
> sont aussi présents dans le module de ton classeur ?
> si oui, enlève-les.
>
>
>
> "franck001" a écrit dans le message
> de
> news:
> Bonjour à tous,
>
> j'ai besoin de vous et de vos vieux souvenirs... :-) Je viens de faire
> (avec
> votre aide du reste) une macro sous Excel 2007, cette dernière est bien
> compatible avec excel 2000 mais quand je l'essaie sur le poste de
> destination
> (sous 97 et oui ca existe encore) il me met Macro non compatible et c'est
> tout, impossible même de cliquer sur Exécuter, pourriez-vous m'aider s'il
> vous plait et m'indiquer la procédure à suivre pour le débugage ou mieux
> quelle point je dois changer , voici ma macro:
>
> "Sub Imprimer_Fiche()
> Dim NbDeCopies As Integer
> Dim NoDeDepart As Long
> On Error Resume Next
> With Worksheets("Recto") 'Nom de la feuille
> If .Range("B1") * .Range("F8") > 0 Then
> 'Plage de cellules à imprimer
> .PageSetup.PrintArea = .Range("A4:J54").Address
> NoDeDepart = .Range("F8") 'à modifier
> NbDeCopies = .Range("B1") 'à modifier
> Application.EnableEvents = False
> For a = 1 To NbDeCopies
> .Range("F8") = NoDeDepart + a - 1
> .PrintOut
> Next
> Application.EnableEvents = True
> .PageSetup.PrintArea = ""
> Else
> MsgBox "Le numéro de fiche suiveuse de départ ou " & _
> vbCrLf & "le nombre de copies n'est pas indiqué.", _
> vbCritical + vbOKOnly, "Attention"
> End If
> End With
> 'Sauvegarde du classeur si on souhaite conserver le numéro de la dernière
> fiche
> 'ThisWorkbook.Save
> End Sub"
>
> Merci à tous
>
> ------(-_-)°zZz------
> Franck
> http://www.deschamps-web.com
>
>