Code VBA pour connaître langue Excel...

CyberNeo99

XLDnaute Occasionnel
Bonjour à tous,

Je m'en remets à vous car j'ai de très très bonne chance de trouver ce que je recherche ici car il faut le dire il y a des cracks ici et ce n'est pas énorme ce que je recherche mais je ne suis pas programmeur alors....

Voilà j'ai besoin connaître la langue d'Excel 2003, ou même 2007 car j'imagine que le code sera le même, à son ouverture donc j'ai mis dans ThisWorkbook un code comme suit :

If Split(Application.Version, ".")(0) < 12 Then

If Excel Français Then

faire tel action

Else

faire tel autre action

Else ( que nous avons Excel 2007 ou +)

If Excel Français Then

faire tel action

Else

faire tel autre action

End if


End If


Merci encorte pour votre grande aide à l'avance


Neo
 

CyberNeo99

XLDnaute Occasionnel
Re : Code VBA pour connaître langue Excel...

Bonjour,

En parlant avec un programmeur il m'a lancé sur une piste qui serait peut être intéressante.

Questionner la présence de fichiers DLL car Excel 2003 et 2007 ont des DLL différents alors si nous questionnons sur la présence de DDL qui sont propre à 2003 et leur présence se trouve sur l'ordinateur alors nous avons une version 2003. Je sais que les gens qui ont les 2 versions auront un Pb j'immagine dont moi car j'ai les 2 mais c'est peut être une piste. L'idéal serait de faire le genre de test dans le message précédent...


Merci encore


Neo
 

Hippolite

XLDnaute Accro
Re : Code VBA pour connaître langue Excel...

Re,
si c'est la version que tu cherches,
version = Application.Version
7.0 = Office 95
8.0 = Office 97
9.0 = Office 2000
10.0 = Office XP ou 2002
11.0 = Office 2003
12.0 = Office 2007
14.0 = Office 2010
A+
 
Dernière édition:

kiki29

XLDnaute Barbatruc
Re : Code VBA pour connaître langue Excel...

Salut,le lien donné par Hippolite en #2 est la solution sinon pour la version remplace déjà
Code:
If Split(Application.Version, ".")(0) < 12 Then
par
Code:
 If Val(Application.Version) < 12 Then
 

JNP

XLDnaute Barbatruc
Re : Code VBA pour connaître langue Excel...

Bonjour le fil :),
7.0 = Office 95
8.0 = Office 97
9.0 = Office 2000
10.0 = Office XP ou 2002
11.0 = Office 2003
12.0 = Office 2007
14.0 = Office 2010
Bill Gates serait-il superstitieux (peut-être un reste du lancement de Vista :rolleyes:) :p ?


If Split(Application.Version, ".")(0) < 12 Then
If Excel Français Then
faire tel action
Else
faire tel autre action
Else ( que nous avons Excel 2007 ou +)
If Excel Français Then
faire tel action
Else
faire tel autre action
End if
End If
Si c'est pour des raisons de compatibilité, je te conseille plutôt
#If...Then...#Else, consigne
Effectue une compilation conditionnelle de blocs sélectionnés de code Visual Basic.
Syntaxe
#If expression Then
statements
[#ElseIf expression-n Then
[elseifstatements]]
[#Else
[elsestatements]]
#End If
qui te permetra de tester
Code:
' Si Mac prend la valeur true, exécute les instructions suivant le #If.
#If Mac Then
    '. Placez uniquement des instructions Mac ici.
    '.
    '.
' S'il s'agit d'un programme Windows 32 bits, faites ceci:
#ElseIf Win32 Then
    '. Placez uniquement des instructions Windows 32 bits ici.
    '.
    '.
' Si votre programme n'est ni un programme Mac ni un programme Windows 32 ' bits, faites ceci:
#Else
    '. Placez les instructions de la plate-forme appropriée ici.
    '.
    '.
#End If
pour la plateforme et/ou
Code:
#If VBA7 Then
'  VBA version 2010
     #If Win64 Then
     '  Excel 64-bit
     #Else
     '  Excel 32-bit
     #End If
#Else
' VBA version 2007 et antérieures
#End If
pour la version. L'avantage est que le code ne déclenche pas le débogueur :rolleyes:...

A savoir que pour 64 bit
Pour résoudre le problème et permettre au code VBA de fonctionner correctement à la fois dans des environnements 32 bits et 64 bits, plusieurs fonctionnalités de langage ont été ajoutées à VBA. Le tableau au bas de ce document résume ces différentes fonctionnalités de langage VBA. Les trois principaux ajouts sont l’alias de type LongPtr, le type de données LongLong et le mot clé PtrSafe.


  • LongPtr - VBA inclut dorénavant un alias de type de variable : LongPtr. Le type de données résolu par LongPtr varie selon la version d’Office exécutée : LongPtr est résolu en Long dans les versions 32 bits d’Office et LongPtr est résolu en LongLong dans les versions 64 bits d’Office. Utilisez LongPtr pour les pointeurs et les handles.
  • LongLong – Le type de données LongLong est un entier signé 64 bits disponible uniquement sur les versions 64 bits d’Office. Utilisez LongLong pour les intégrales 64 bits. Les fonctions de conversion doivent être utilisées pour affecter explicitement le type LongLong (y compris le type LongPtr sur les plateformes 64 bits) à des types d’intégrales plus petites. Les conversions implicites de LongLong vers des intégrales plus petites ne sont pas autorisées.
  • PtrSafe – Le mot clé PtrSafe indique que l’instruction Declare peut être exécutée en toute sécurité dans les versions 64 bits d’Office.
Toutes les instructions Declare doivent dorénavant inclure le mot clé PtrSafe lorsqu’elles sont exécutées dans les versions 64 bits d’Office. Il est important de comprendre qu’ajouter le mot clé PtrSafe à une instruction Declare indique seulement que l’instruction Declare cible explicitement les versions 64 bits ; tous les types de données concernés par l’instruction qui requièrent le stockage de 64 bits (y compris les paramètres et les valeurs renvoyées) doivent être modifiés pour contenir des quantités 64 bits.
Bon WE (et bon courage...) :cool:
 

CyberNeo99

XLDnaute Occasionnel
Re : Code VBA pour connaître langue Excel...

Bonjour à tous,

Merci pour tout ce cooup de main.

Le lien de Hippolite pour le code en VBA pour ainsi connaître la langue de Excel fonctionne très bien. Je suis arrivé à mettre le code dans mon formulaires et tout fonctionne à merveille.

Merci encore pour votre aide.


Neo
 

Discussions similaires

Statistiques des forums

Discussions
312 194
Messages
2 086 066
Membres
103 110
dernier inscrit
Privé