Evolution excel 2002 vers 2010 PB lors d'écriture de formule [Résolu]

Messages postés
3
Date d'inscription
vendredi 5 septembre 2014
Dernière intervention
5 septembre 2014
-
Bonjour à Tous,
j'ai une application écrite en VB5 pour XP qui crée un classeur excel 2002 que j'essaie de faire fonctionner avec excel 2010 et il y a un pb dans l'écriture d'une formule.
Quand j'insére une formule dans la cellule du classeur avec VB j'ai une anomalie 1004
Par contre quand j'insère cette même formule manuellement dans le classeur en coure de documentation, cela fonctionne.

Je ne comprends pas

Voici le code et la valeur de la formule concernée par l'anomalie

With roActiveSheet
For iLigne = 1 To iMaxCol
 err.Clear 
 On Error Resume Next
 .Range(.Cells(iLigneDeb, iLigne), .Cells(iLigneDeb, iLigne)).Formula = nColBloc(iCpteBloc)(1, iLigne)
 err.Clear 
 Next
End With


La valeur de nColBloc(iCpteBloc)(1, iLigne) est :
=SI(SI(ESTNUM($E$36);  50,0001 - $E$36;50,0001 + $E$88) >= 0; SI(ESTNUM($E$36);  50,0001 - $E$36;50,0001 + $E$88) ; "")

Quelqu'un aurait il une idée ?
Merci par avance
Afficher la suite 

Votre réponse

4 réponses

Messages postés
23650
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 décembre 2018
0
Merci
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

J'édite ton message pour les mettre... la prochaine fois penses y .
Commenter la réponse de jordane45
Messages postés
23650
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 décembre 2018
0
Merci
Pour ce qui est de ton souci...

Déjà... tu postes dans la SECTION VBA du forum... et tu nous parles de VB5
écrite en VB5 pour XP

Donc... tu codes réellement en VB5 ou bien tu t'es trompé et c'est bien du VBA ?


Ensuite.. as tu regardé ce que valait nColBloc(iCpteBloc)(1, iLigne) au momment où il arrive sur la ligne de code qui ne fonctionne pas ?

avec un msgbox par exemple :
Dim Formule  as String
Formule =  nColBloc(iCpteBloc)(1, iLigne)
Msgbox Formule

With roActiveSheet
For iLigne = 1 To iMaxCol
 err.Clear 
 On Error Resume Next
 .Range(.Cells(iLigneDeb, iLigne), .Cells(iLigneDeb, iLigne)).Formula =Formule
 err.Clear 
 Next
End With


Commenter la réponse de jordane45
Messages postés
3
Date d'inscription
vendredi 5 septembre 2014
Dernière intervention
5 septembre 2014
0
Merci
Bonjour jordane,
C'est du code exécuté à partir de VB5 pour créer en dynamique un classeur excel.
La valeur de nColBloc(iCpteBloc)(1, iLigne) que j'ai indiqué correspond à la valeur qui génère l'anomalie
jordane45
Messages postés
23650
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
18 décembre 2018
-
- Tu as quand même testé le code que je t'ai donné ??
La MsgBox... te donne bien la même "string" que celle que tu nous as posté ?
ucfoutu
Messages postés
18039
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
-
Bonjour,
se servir de FormulaLocal, puisque le texte de la notation est en "français".
Ou (bien mieux) : utiliser Formula, mais la notation anglaise pour le "texte" dans la cellule concernée.
Commenter la réponse de Moutou25
Messages postés
3
Date d'inscription
vendredi 5 septembre 2014
Dernière intervention
5 septembre 2014
0
Merci
Avec FormulaLocal ça fonctionne effectivement.
Merci beaucoups
Commenter la réponse de Moutou25

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.