Bonjour,
J'ai le code suivant pour envoyer des mails:
Code:
Sub EnvoyerMail()
Dim i As Integer
Dim NomDeLaFeuille As String
Dim NomDesClasseurs(1 To 11)
Dim ZonePJ As Range
Dim ZoneD As Range
Dim ZoneCC As Range
Set ZonePJ = Range("C19:C29")
Dim chemin As String
chemin = CreateObject("WScript.Shell").specialFolders("Desktop")
Dim debutnom As String
debutnom = Range("C38")
Answer = MsgBox(Range("C39"), vbYesNo)
If Answer = vbYes Then
For i = 19 To 29
If Not IsEmpty(Range("C" & i)) Then
NomDeLaFeuille = Range("C" & i)
[COLOR="red"]NomDesClasseurs(i - 19 + 1) = chemin & "\" & debutnom & NomDeLaFeuille & ".xls"[/COLOR]
Sheets(NomDeLaFeuille).Visible = True
ThisWorkbook.Sheets(NomDeLaFeuille).Copy
ActiveWorkbook.SaveAs (chemin & "\" & debutnom & NomDeLaFeuille)
ActiveWorkbook.Close
Sheets(NomDeLaFeuille).Visible = False
End If
Next i
Call SendMailCDO(NomDesClasseurs)
For i = 1 To 11
If NomDesClasseurs(i) <> "" Then Kill NomDesClasseurs(i)
Next
ZonePJ.ClearContents
End If
End Sub
Ma question est: Comment faire pour qu'il crée des .xls lorsque la version de l'utilisateur est 2003 et en .xlsx lorsqu'il utilise 2007 ?
Si c'est possible bien entendu.
Dans mon cas, j'ai plusieurs macor qui vont rechercher les fichier .xls ou .xlsx . J'aurai voulu qu'il choisisse les deux et non pas seulement celle de la version en cour afin qu'un utilisateur de 2007 puisse utiliser des fichier 2003.
Ce qui n'est pas possible actuellement.
Tant pis. Je pense que EXCEL ne peut gérer ça, tout particulièrement si je programme en 2003.
pas tout compris, mais à priori c'est plutôt le contraire, un utilisateur travaillant sous 2003 ne pourra pas ouvrir un ficher version 2007, sauf a avoir installé le convertisseur.... enfin me semble t'il...
Je viens de vérifier ce que je disais plus haut sur Application.Version, c'est juste ...
De plus, depuis Excel 2007-2010, le paramètre fileformat est codé comme suit :
51 = xlsx
52 = xlsm
50 = xlsb
56 = xls
Je viens de vérifier ce que je disais plus haut sur Application.Version, c'est juste ...
De plus, depuis Excel 2007-2010, le paramètre fileformat est codé comme suit :
51 = xlsx
52 = xlsm
50 = xlsb
56 = xls