Probleme de langue dans une formule

  • Initiateur de la discussion NewNewbie
  • Date de début
N

NewNewbie

Guest
Bonjour à tous,

A l'ouverture d'un fichier,

je voudrais mettre à jour la mise en forme conditionnelle pour une plage de cellule de mon classeur.

J'ai pour cela créé une petite macro. Mais celle ci a un comportement bizarre!

Sous certaines conditions, excel attend la formule de mise en forme conditionnelle en Français et sous d'autres, il l'attend en anglais...

Ouverture du fichier depuis l'explorateur par double clic sur le fichier => Formules en anglais
Ouverture du fichier depuis excel (menu fichier ouvrir) => Formules en français
Ouverture du fichier depuis la commande exécuter (excel d:\\MiseEnFormeCdt) => Formules en français

Existe-t-il un paramètre qui me permette de savoir comment appliquer le format de mise en forme conditionnelle?

D'avance merci

@+ NewNewbie [file name=MiseEnFormeCdt.zip size=11020]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/MiseEnFormeCdt.zip[/file]
 

Pièces jointes

  • MiseEnFormeCdt.zip
    10.8 KB · Affichages: 18
N

NewNewbie

Guest
Pour info,

Les tests que j'ai effectué l'ont été sur:
Win 98 et excel 2000
Win 2000 et excel 97

Dans les 2 cas, même message d'erreur...

Est ce que quelqu'un pourrait tester sous XP pour voir si ça passe.?

@+ NewNewbie
 
N

NewNewbie

Guest
Bonsoir, et merci d'avoir réagi Hervé

Je reprécise un petit peu mon problème:

Le texbox qui s'affiche à l'écran lors de l'ouverture du fichier n'est là que pour mettre en évidence mon pb. Sur l'application défénitive, il aura disparu.

La formule en français (configuration de mon ordi) fonctionne toujours SAUF quand j'ouvre mon fichier directement depuis l'explorateur (double clic). As-tu réussi à reproduire le pb??
Lorsque je l'ouvre de cette manière, il faut que j'utilise la formule anglaise pour qu'excel ne m'insulte pas méchamment:
'Appel de procédure ou argument incorrect (erreur 5)' et applique le format conditionnel.

Comment faire pour auchoix:
Utiliser la bonne fonction suivant la manière dont est ouvert le fichier?
Trouver une fonction qui marche à tous les coups?

@+ NewNewbie
 

_Thierry

XLDnaute Barbatruc
Repose en paix
Bonjour newNewBie, Hervé

Très étrange en effet, moi je jongle entre diverses machines FR ou US tout au long de la journée, jamais vu ça...

Normalement si tu utilises la Syntax Range('A1').Formula = '=Formula in English' tu ne devrais avoir aucun problème, car la Propriété Formula renvoie ou définit la formule de l'objet dans le style de référence A1 en anglais.

Sinon tu as 'FormulaLocal' qui renvoie ou définit la formule de l'objet, en utilisant les références du style A1 dans le langage de l'utilisateur.

Sinon je donne ma langue au chat, ou alors tu as deux versions d'Excel sur ta Machine (faire une vérif)...

Bonne soirée
@+Thierry
 

Hervé

XLDnaute Barbatruc
re à vous deux

Vraiment bizarre, je suis sous XP, après avoir lancé ta macro corrigé en anglais, je n'ai plus de bug, mais elle ne fait rien ????

Elle me place bien en mefc la formule indiqué, mais elle ne me colore pas les lignes.

Par contre aucun souci avec la macro francaise.

Et ceci que je lance de n'importe quelle manière.

Mais au faite, elle te sert à quoi cette macro ?

Ne pourrais tu pas tout faire en VBA ou en MEFC, parce que panaché les deux, c'est pas génial.

a plus
 

Hervé

XLDnaute Barbatruc
re

Si tu cherches une macro pour colorier en gris une ligne sur deux d'une sélection, en voilà une :



Public Sub vev()
Dim i As Integer
Dim j As Integer
For i = Selection.Row To Selection.Row + Selection.Rows.Count - 1 Step 2
For j = Selection.Column To Selection.Column + Selection.Columns.Count - 1
Cells(i, j).Interior.ColorIndex = 15
Next j
Next i
End Sub



A plus...

Message édité par: Hervé, à: 15/03/2005 00:25
 

Hervé

XLDnaute Barbatruc
re

Et pourquoi toujours du gris, :)

Après tout le printemps est à nos portes.

Alors vive les couleurs aléatoires

Public Sub vev()
Dim i As Integer
Dim j As Integer
Dim couleur As Byte

For i = Selection.Row To Selection.Row + Selection.Rows.Count - 1 Step 2
Randomize
couleur = Int((56 * Rnd) + 1)
For j = Selection.Column To Selection.Column + Selection.Columns.Count - 1
Cells(i, j).Interior.ColorIndex = couleur
Next j
Next i
End Sub

a plus

Message édité par: Hervé, à: 15/03/2005 00:34
 

Discussions similaires

Statistiques des forums

Discussions
314 450
Messages
2 109 724
Membres
110 552
dernier inscrit
jasson