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

Erreur dans une macro - Problême de référence ?

2 réponses
Avatar
Sou PULL
Bonjour dans la sub suivante l'un de mes utilisateurs à une erreur
d'exécution à la ligne :
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats,
Operation:= _xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
For i = 1 To CtrLigne

Sa version d'Excel est la 9 (Excel 2000). La mienne qui à servie à
dévelloper la macro est en version 11, (Excel 2003)
C'est donc Microsoft Excel 11.0 Office library qui diffère sur son PC.

Comment puis-je rendre ma sub interprétable par une 9.0, ou alors est-il
possible de charger la libraire 11.0 sur un Excel version 9 ?

Merci d'avance. Soupull
Pour info voici la sub complète :

Sub envoi()
'
Application.DisplayAlerts = False
Dim CtrLigne As Long
Range("A5:Q5").Select
CtrLigne = Range("Q5").End(xlDown).Row - 4
Range(Selection, Range("Q5").End(xlDown)).Select
Selection.Copy
Workbooks.Add
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats,
Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
For i = 1 To CtrLigne
Cells(i, 1) = Workbooks("sda_Benoit.xls").Worksheets("saisie").[M1]
Next i
ChDir "C:\Reporting"
ActiveWorkbook.SaveAs Filename:="report_Benoit", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Application.Dialogs(xlDialogSendMail).Show
ActiveWorkbook.Close
Range("H5").Select
End Sub

2 réponses

Avatar
papou
Bonjour
Fais un test prélable sur le numéro de la version avec par exemple :
Dim LaVersion
LaVersion = CInt(Mid(Application.Version, 1, Application.Find(".",
Application.Version) - 1))
Select Case LaVersion
Case 11
Range("A1").PasteSpecial (xlPasteFormulasAndNumberFormats)
Case Else
Range("A1").PasteSpecial (xlPasteFormulas)
End Select

Cordialement
Pascal
Avatar
michdenis
Bonjour Sou PULL,

Si tu veux seulement tester la version :

Dim Version As Integer
Version = Val(Application.Version)
Select Case Version
Case 11
'code
Case 8, 9, 10
'code
End Select


Salutations!



"Sou PULL" a écrit dans le message de news: %
Bonjour dans la sub suivante l'un de mes utilisateurs à une erreur
d'exécution à la ligne :
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats,
Operation:= _xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
For i = 1 To CtrLigne

Sa version d'Excel est la 9 (Excel 2000). La mienne qui à servie à
dévelloper la macro est en version 11, (Excel 2003)
C'est donc Microsoft Excel 11.0 Office library qui diffère sur son PC.

Comment puis-je rendre ma sub interprétable par une 9.0, ou alors est-il
possible de charger la libraire 11.0 sur un Excel version 9 ?

Merci d'avance. Soupull
Pour info voici la sub complète :

Sub envoi()
'
Application.DisplayAlerts = False
Dim CtrLigne As Long
Range("A5:Q5").Select
CtrLigne = Range("Q5").End(xlDown).Row - 4
Range(Selection, Range("Q5").End(xlDown)).Select
Selection.Copy
Workbooks.Add
Range("B1").Select
Selection.PasteSpecial Paste:=xlPasteFormulasAndNumberFormats,
Operation:= _
xlNone, SkipBlanks:úlse, Transpose:úlse
Application.CutCopyMode = False
For i = 1 To CtrLigne
Cells(i, 1) = Workbooks("sda_Benoit.xls").Worksheets("saisie").[M1]
Next i
ChDir "C:Reporting"
ActiveWorkbook.SaveAs Filename:="report_Benoit", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:úlse, CreateBackup:úlse
Application.Dialogs(xlDialogSendMail).Show
ActiveWorkbook.Close
Range("H5").Select
End Sub