Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Formule trop longue pour enregistreur ?

5 réponses
Avatar
Pounet95
Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

5 réponses

Avatar
Daniel
Bonjour.
Dans un bouquin relatif à XL97, je lis que les chaînes manipulées par VBA ne
doivent pas dépasser 255 caractères. Dans ce cas, l'auteur suggère de
concaténer des sous-chaînes moins longues.
Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré
ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE
NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais
chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)



Avatar
Pounet95
Bonjour Daniel,
Merci de ta réponse, mais hélas, même en découpant la chaine en 4, j'ai le
même souci "Erreur 100'"
et comme l'aide liée à ce message est pratiquement incompréhensible, alors
je ne sais que faire

Je pense que je vais créer une feuille cachée, structurée à l'identique de
celle utilisée et à partir de laquelle
je recopierai les formules. Cela ne devrait quand même pas faire grossir
trop le fichier.
Merci encore

Pour info : je demande dans une cellule quelconque le nombre de caractères
de la cellule contenant la formule
avec NBCAR(Y3) et la réponse est 12, c'est à dire la longueur de la chaine
en réponse au test.



--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Daniel" a écrit dans le message de news:

Bonjour.
Dans un bouquin relatif à XL97, je lis que les chaînes manipulées par VBA
ne doivent pas dépasser 255 caractères. Dans ce cas, l'auteur suggère de
concaténer des sous-chaînes moins longues.
Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT
NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE
ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré
ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE
NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais
chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)







Avatar
Daniel
En utilisant formulalocal, j'arrive à recopier ta formule initiale.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour Daniel,
Merci de ta réponse, mais hélas, même en découpant la chaine en 4, j'ai le
même souci "Erreur 100'"
et comme l'aide liée à ce message est pratiquement incompréhensible, alors
je ne sais que faire

Je pense que je vais créer une feuille cachée, structurée à l'identique de
celle utilisée et à partir de laquelle
je recopierai les formules. Cela ne devrait quand même pas faire grossir
trop le fichier.
Merci encore

Pour info : je demande dans une cellule quelconque le nombre de caractères
de la cellule contenant la formule
avec NBCAR(Y3) et la réponse est 12, c'est à dire la longueur de la
chaine en réponse au test.



--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Daniel" a écrit dans le message de news:

Bonjour.
Dans un bouquin relatif à XL97, je lis que les chaînes manipulées par VBA
ne doivent pas dépasser 255 caractères. Dans ce cas, l'auteur suggère de
concaténer des sous-chaînes moins longues.
Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT
NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE
ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré
ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE
NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais
chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)










Avatar
Jacquouille
Bonjour Pounet
tu copies ta formule dans une autre cellule et tu la fais précéder d'une
apostrophe, puis tu comptes le nombre de car, puis tu fais moins 1.
Bonne chance

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Pounet95" a écrit dans le message de news:

Bonjour Daniel,
Merci de ta réponse, mais hélas, même en découpant la chaine en 4, j'ai le
même souci "Erreur 100'"
et comme l'aide liée à ce message est pratiquement incompréhensible, alors
je ne sais que faire

Je pense que je vais créer une feuille cachée, structurée à l'identique de
celle utilisée et à partir de laquelle
je recopierai les formules. Cela ne devrait quand même pas faire grossir
trop le fichier.
Merci encore

Pour info : je demande dans une cellule quelconque le nombre de caractères
de la cellule contenant la formule
avec NBCAR(Y3) et la réponse est 12, c'est à dire la longueur de la
chaine en réponse au test.



--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Daniel" a écrit dans le message de news:

Bonjour.
Dans un bouquin relatif à XL97, je lis que les chaînes manipulées par VBA
ne doivent pas dépasser 255 caractères. Dans ce cas, l'auteur suggère de
concaténer des sous-chaînes moins longues.
Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT
NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE
ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré
ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE
NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais
chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)










Avatar
Pounet95
Bonsoir,
Mille merci pour vos recherches et vos réponses.
J'ai donc opté en final par la solution de dupliquer l'en-tête de l'onglet
(3 premières lignes ) avec des données en lignes 3 et les formules,
avec évidement celle qui m'ennuie depuis ce matin.

Et voilà le code qui me permet "le bricolage"


fin = Range("T65536").End(xlUp).Row
If fin > 2 Then
Sheets("modèle").[Y3].Copy
Range("Y3:Y" & fin).Select
Selection.PasteSpecial xlFormulas
End If


Tant pis pour ce coup là, je resterai idiot ;o(((

Bonne soirée et au plaisir d'échanger
--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Jacquouille" a écrit dans le message de
news: %
Bonjour Pounet
tu copies ta formule dans une autre cellule et tu la fais précéder d'une
apostrophe, puis tu comptes le nombre de car, puis tu fais moins 1.
Bonne chance

--
Bien amicalmement,
Vivement conseillés:
http://www.excelabo.net
http://jacxl.free.fr/mpfe/trombino.html
http://dj.joss.free.fr/netiquet.htm
http://frederic.sigonneau.free.fr/

Jacquouille.

"Pounet95" a écrit dans le message de news:

Bonjour Daniel,
Merci de ta réponse, mais hélas, même en découpant la chaine en 4, j'ai
le même souci "Erreur 100'"
et comme l'aide liée à ce message est pratiquement incompréhensible,
alors je ne sais que faire

Je pense que je vais créer une feuille cachée, structurée à l'identique
de celle utilisée et à partir de laquelle
je recopierai les formules. Cela ne devrait quand même pas faire grossir
trop le fichier.
Merci encore

Pour info : je demande dans une cellule quelconque le nombre de
caractères de la cellule contenant la formule
avec NBCAR(Y3) et la réponse est 12, c'est à dire la longueur de la
chaine en réponse au test.



--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)

"Daniel" a écrit dans le message de news:

Bonjour.
Dans un bouquin relatif à XL97, je lis que les chaînes manipulées par
VBA ne doivent pas dépasser 255 caractères. Dans ce cas, l'auteur
suggère de concaténer des sous-chaînes moins longues.
Cordialement.
Daniel
"Pounet95" a écrit dans le message de news:

Bonjour, ( ou Re car ne voyant pas mon premier fil ;o((( )
XL2000 XP Pro

Voici la formule saisie dans la cellule Y3
Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

=SI(ET(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));ESTNA(RECHERCHEV(U3;SCR2;1;FAUX)));"CLASSE
/ CARACTERISTIQUE ABSENT
NFX";SI(ESTNA(RECHERCHEV(T3;SCL2;1;FAUX));"CLASSE
ABSENTE NFX";SI(ESTNA(RECHERCHEV(U3;SCR2;1;FAUX));"CARACTERISTIQUE
ABSENTE
NFX";SI(SOMMEPROD(N(SCL2=T3)*N(SCR2=U3))>0;"Cohérent NFX";"Non Cohérent
NFX"))))

Elle fonctionne sans souci et manuellement je peux la recopier dans mon
tableau tant que besoin.
(copie en tirant vers le bas )

Où ça se corse, c'est quand je lance l'enregistreur de macro pour la
récupérer dans un module VBA.
Elle est incomplète, erronée avec un caractère de contrôle (CR) inséré
ainsi
qu'un point d'interrogation.

Qu'à cela ne tienne, je me fais la ligne VBA à la main en traduisant :

"=IF(AND(ISNA(VLOOKUP(RC[-5],SCL2,1,FALSE)),ISNA(VLOOKUP(RC[-4],SCR2,1,FALSE))),""CLASSE
/ CARACTERISTIQUE ABSENT NFX""
,IF(ISNA(VLOOKUP(RC[-5],SCL2,1;FALSE)),""CLASSE ABSENTE
NFX"",IF(ISNA(VLOOKUP(RC[-4],SCR2,1;FALSE)),""CARACTERISTIQUE ABSENTE
NFX"",
IF(SUMPROD(N(SCL2=T3)*N(SCR2=U3))>0,""Cohérent NFX"",""Non Cohérent
NFX""))))"

J'éxécute l'instruction Activecell.formular1c1= .... ma formule
Et là, message "Erreur 1004"

Je suppute que je dépasse les 255 caractères mais alors pourquoi c'est
accepté quand je tape la même formule dans
la barre de formule ?
Si quelqu'un a une (voire plus ) explication, je suis preneur.


Nota : SCL2, SCL1,SCR1,SCR2 sont des plages dans lesquelles je vais
chercher
des références

Merci d'avance


--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
Conseillé :
http://dj.joss.free.fr/netiquet.htm
(charte, nétiquette, conseils, abréviations, souriettes...)
http://www.excelabo.net/mpfe/connexion.php
(connexion, conseils...)