De nouveau un petit problème de syntaxe...

SERIEUXETCOOL

XLDnaute Occasionnel
Bonsoir le Forum,

Voici deux petits bouts de code très simples :

Code:
Range("E1").Formula = "=10"
Range("E2").Formula = "=-E1"

Code:
Dim i&

For i = 1 To 10 Step 2
    Range("F" & i).Formula = "=10"
    Range("F" & (i + 1)).Formula = "=-F" & i
Next

Le premier code fonctionne parfaitement. La cellule m'affiche la formule ET la valeur. C'est exactement ce que je recherche.

Par contre, le deuxième code ne fait pas de même !!! Le deuxième range m'affiche la valeur opposée du premier range MAIS la cellule contient un triangle vert m'indiquant un message d'alerte. Or je ne veux pas de ce triangle vert.

Quelqu'un pourrait il me renseigner sur la manière de faire afficher les deux formules pour le code 2 ET ainsi que le résultat correct sans triangle vert pour les 2 range ???


Merci à ceux qui pourront m'aider. Sa me semble être un simple problème de syntaxe ou de compatibilité entre les 2 égals. Mais je ne saisis pas l'erreur...


André
 

mth

XLDnaute Barbatruc
Re : De nouveau un petit problème de syntaxe...

Bonsoir,

Ton triangle vert est dû à la vérification des erreurs supposées en arrière plan (ce qui ralentit pas mal Excel sur de gros fichiers).
Perso j'ai décoché cette option qui me semble-t-il (mais je peux me tromper) ne sert pas à grand chose: Bouton Office, Options Excel, Formules, décocher la case "vérification des erreurs"

Bonne soirée,

mth
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : De nouveau un petit problème de syntaxe...

mth pourrais tu m'en dire un plus sur cette vérification d'erreur ???

Pourquoi s'affiche t'elle dans le deuxième code et pas dans le premier ? Et ou est la dite erreur dans mon deuxième code alors ?

Qu'est ce qui provoque ce triangle vert, et comment agir pour ne pas l'avoir sans décocher d'option si possible ?

Par exemple si j’utilise le code suivant je résous mon problème de triangle vert, mais je perd l'affichage de la formule avec la cellule. Et sa ne me conviens pas non plus :

Code:
Dim i&

For i = 1 To 10 Step 2
    Range("F" & i).Formula = "=10"
    Range("F" & i + 1) = -Range("F" & i)
Next

Quelqu'un aurais une idée ?

André
 

Pierrot93

XLDnaute Barbatruc
Re : De nouveau un petit problème de syntaxe...

Bonjour André, Mireille:)

pour ne pas avoir l'alerte :
Code:
Dim i&
With Application.ErrorCheckingOptions
    .OmittedCells = False
    For i = 1 To 10 Step 2
        Range("F" & i).Formula = "=10"
        Range("F" & (i + 1)).Formula = "=-F" & i
    Next
    .OmittedCells = True
End With

bonne journée
@+
 

TempusFugit

XLDnaute Impliqué
Re : De nouveau un petit problème de syntaxe...

Bonjour


Si j'ai bien compris ce que la macro doit faire
Est-ce que celle-ci fait ce que tu souhaites ?

Code:
Dim i&
For i = 1 To 10 Step 2
    With Range("F" & i)
    .Formula = "=10"
    .Offset(1).FormulaR1C1 = "=R[-1]C*-1"
    End With
Next
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : De nouveau un petit problème de syntaxe...

Alors TempusFougit, pourrait tu m'indiquer comment décocher l'option des alertes qui donnent les triangles verts par vba ???

Tu sais une ligne de code qui serait similaire à celles-ci :

Code:
Application.ScreenUpdating = False 'Désactive l'affichage
Application.DisplayAlerts = False 'Désactive les alertes

Comme sa, j'intègre le code qui désafiche mes alertes qui m'embêtent et puis basta. N'importe quel utilisateur, de n'importe quel pc n'aura pas de problème de triangles verts s'il utilise mon code.

Merci TempusFugit.
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : De nouveau un petit problème de syntaxe...

Merci tempusFugit.

Sa marche en effet très bien. Bon ben je pense que je vais rester avec cette solution du coup. Personne ne propose mieux. Donc je garde la moins pire comme on dit^^

Petite remarque tout de même, si j'utilise le code proposé par tempusfugit qui me désactive mes alertes liées aux triangles verts d'excel, alors Excel désactive complètement les alertes !
Du coup une fois la macro effectuée, plus moyen de réactiver les alertes car si je le les réactives juste à la fin de ma macro et bien les triangles reviennent toujours.

Donc je suis obligé de désactiver cette option pour tout excel. Donc un utilisateur qui utilisera mon code verra son option d'excel désactivé sans le savoir.

C'est dommage je trouve de modifier les options à l’insu des gens. J'aime pas trop sa. Bon la sa reste léger mais tout de même c'est pas top top^^

Merci pour vos réponses en tout cas. C'est cool. Si jamais vous avez de nouvelles pistes je suis preneur !!!

Bien cordialement,

André
 

TempusFugit

XLDnaute Impliqué
Re : De nouveau un petit problème de syntaxe...

Bonjour de nouveau


Il suffit d'ajouter cette macro
(A mettre dans ThisWorkBook et pas dans un module standard)
Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.ErrorCheckingOptions.BackgroundChecking = True
End Sub
Pour préserver l'environnement des autres utilisateurs d'Excel.
 

SERIEUXETCOOL

XLDnaute Occasionnel
Re : De nouveau un petit problème de syntaxe...

TempusFugit je test ta solution...Juste après manger lol. A première vue sa me semble une bonne idée !!! Je test sa très rapidement.

Pierrot93 : J'ai bien vu ta solution de ce matin. Je l'ai testé également. Mais sa ne fonctionne pas. Les triangles verts reviennent encore.

J'ai peut être mal testé alors je retest encore une fois ton code après mangé.

Mais il me semble que la solution de TempusFugit me séduit déjà bcp plus...

Je re
 

Discussions similaires

Réponses
7
Affichages
374

Membres actuellement en ligne

Statistiques des forums

Discussions
312 330
Messages
2 087 351
Membres
103 526
dernier inscrit
HEC