Remplacer une formule d'un fichier excel 2007 sur un fichier 2003

Le
Jean-Marc
Bonjour.

Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne qui
lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.

Comment je pourrais par le biais d'une macro rendre compatible une formule
excel 2007 sur 2003.

La formule excel 2007 est la suivante :
==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une macro
pour qu'il utilise une formule identique qui est compatible sur excel 2003,
pour l'appliquer automatiquement sur toutes les cellules.

Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
fichier pour des questions de confidentialités.

Salutations
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
MichDenis
Le #18875571
IFERROR -> en français -> SIERREUR(valeur,valeur_si_erreur)

Sous les autres versions tu peux utiliser :
si(estErreur(....);sivrai;sifaux)



"Jean-Marc" discussion :
Bonjour.

Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne qui
lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.

Comment je pourrais par le biais d'une macro rendre compatible une formule
excel 2007 sur 2003.

La formule excel 2007 est la suivante :
==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une macro
pour qu'il utilise une formule identique qui est compatible sur excel 2003,
pour l'appliquer automatiquement sur toutes les cellules.

Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
fichier pour des questions de confidentialités.

Salutations
Daniel.C
Le #18875671
Bonjour.
"_xlfn" indique que la fonction qui suit n'existe pas dans ta version
d'Excel. L'équivalent est :
=IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
Cordialement.
Daniel

Bonjour.

Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne qui
lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.

Comment je pourrais par le biais d'une macro rendre compatible une formule
excel 2007 sur 2003.

La formule excel 2007 est la suivante :
==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une macro
pour qu'il utilise une formule identique qui est compatible sur excel 2003,
pour l'appliquer automatiquement sur toutes les cellules.

Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
fichier pour des questions de confidentialités.

Salutations


Jean-Marc
Le #18876031
Merci beaucoup pour ces informations. Mais ayant plusieurs cellules
impliqués, existe-t'il une solution macro/vba pour appliquer cette formule
dans toutes mes cellules simplement avec un simple clique, car la fonction
_xlfn.IFERROR est utilisé dans plusieurs type de formule dans ce fichier.

Merci d'avance pour votre réponse

"Daniel.C" a écrit :

Bonjour.
"_xlfn" indique que la fonction qui suit n'existe pas dans ta version
d'Excel. L'équivalent est :
=IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
Cordialement.
Daniel

> Bonjour.
>
> Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne qui
> lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.
>
> Comment je pourrais par le biais d'une macro rendre compatible une formule
> excel 2007 sur 2003.
>
> La formule excel 2007 est la suivante :
> ==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une macro
> pour qu'il utilise une formule identique qui est compatible sur excel 2003,
> pour l'appliquer automatiquement sur toutes les cellules.
>
> Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
> fichier pour des questions de confidentialités.
>
> Salutations





Daniel.C
Le #18876101
Es-tu sûr que la formule commence par "==" ?
Daniel

Merci beaucoup pour ces informations. Mais ayant plusieurs cellules
impliqués, existe-t'il une solution macro/vba pour appliquer cette formule
dans toutes mes cellules simplement avec un simple clique, car la fonction
_xlfn.IFERROR est utilisé dans plusieurs type de formule dans ce fichier.

Merci d'avance pour votre réponse

"Daniel.C" a écrit :

Bonjour.
"_xlfn" indique que la fonction qui suit n'existe pas dans ta version
d'Excel. L'équivalent est :
=IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
Cordialement.
Daniel

Bonjour.

Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne
qui lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.

Comment je pourrais par le biais d'une macro rendre compatible une formule
excel 2007 sur 2003.

La formule excel 2007 est la suivante :
==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une
macro pour qu'il utilise une formule identique qui est compatible sur
excel 2003, pour l'appliquer automatiquement sur toutes les cellules.

Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
fichier pour des questions de confidentialités.

Salutations









Jean-Marc
Le #18876231
Non je l'ai fait invonlairement lors que j'ai saisi le message sur le forum.
Mais il y a bien un seul
"Daniel.C" a écrit :

Es-tu sûr que la formule commence par "==" ?
Daniel

> Merci beaucoup pour ces informations. Mais ayant plusieurs cellules
> impliqués, existe-t'il une solution macro/vba pour appliquer cette formule
> dans toutes mes cellules simplement avec un simple clique, car la fonction
> _xlfn.IFERROR est utilisé dans plusieurs type de formule dans ce fichier.
>
> Merci d'avance pour votre réponse
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> "_xlfn" indique que la fonction qui suit n'existe pas dans ta version
>> d'Excel. L'équivalent est :
>> =IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
>> Cordialement.
>> Daniel
>>
>>> Bonjour.
>>>
>>> Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne
>>> qui lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.
>>>
>>> Comment je pourrais par le biais d'une macro rendre compatible une formule
>>> excel 2007 sur 2003.
>>>
>>> La formule excel 2007 est la suivante :
>>> ==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une
>>> macro pour qu'il utilise une formule identique qui est compatible sur
>>> excel 2003, pour l'appliquer automatiquement sur toutes les cellules.
>>>
>>> Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
>>> fichier pour des questions de confidentialités.
>>>
>>> Salutations
>>
>>
>>





MichDenis
Le #18876491
Adapte le nom de la feuille dans la procédure et/ ou de la plage de cellules

Sub TEST()
Dim Trouve As Range
On Error Resume Next
With Feuil1
With .Cells
Set Trouve = .Find(what:="IFERROR", LookIn:=xlFormulas, lookat:=xlPart)
adr = Trouve.Address
If Not Trouve Is Nothing Then
Do
Trouve.Formula = "=IF(ISERROR(IF(U41<R41," & _
"U41*N41,R41*N41)),"""",IF(U41<R41,U41*N41,R41*N41))"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End If
End With
End With
End Sub




"Jean-Marc" discussion :
Non je l'ai fait invonlairement lors que j'ai saisi le message sur le forum.
Mais il y a bien un seul
"Daniel.C" a écrit :

Es-tu sûr que la formule commence par "==" ?
Daniel

> Merci beaucoup pour ces informations. Mais ayant plusieurs cellules
> impliqués, existe-t'il une solution macro/vba pour appliquer cette formule
> dans toutes mes cellules simplement avec un simple clique, car la fonction
> _xlfn.IFERROR est utilisé dans plusieurs type de formule dans ce fichier.
>
> Merci d'avance pour votre réponse
>
> "Daniel.C" a écrit :
>
>> Bonjour.
>> "_xlfn" indique que la fonction qui suit n'existe pas dans ta version
>> d'Excel. L'équivalent est :
>> =IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
>> Cordialement.
>> Daniel
>>
>>> Bonjour.
>>>
>>> Je reçois régulièrement un fichier xlsx avec des chiffres d'une personne
>>> qui lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.
>>>
>>> Comment je pourrais par le biais d'une macro rendre compatible une formule
>>> excel 2007 sur 2003.
>>>
>>> La formule excel 2007 est la suivante :
>>> ==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une
>>> macro pour qu'il utilise une formule identique qui est compatible sur
>>> excel 2003, pour l'appliquer automatiquement sur toutes les cellules.
>>>
>>> Merci pour votre réponse. Malheureusement je ne peux pas vous envoyer le
>>> fichier pour des questions de confidentialités.
>>>
>>> Salutations
>>
>>
>>





Laurent
Le #18876701
Bonjour a tous,
Ou alors sir le but est de remplacer l'utilisation d'une formule ISERREUR()
par un si(esterreur()) qui fonctionne sous Office 2003 :
...
'enlève le égale
Formule = Right(CStr(ActiveCell.FormulaR1C1),
Len(CStr(ActiveCell.FormulaR1C1)) - 1)

'Enlève le ISERREUR()
Formule = Replace(Formule, "_xlfn.IFERROR(IF", "IF")
'Enlève le dernier argument du ISERREUR()
Formule = Replace(Formule, ","""")", "")
'Applique le SI(ESTERREUR()...
ActiveCell.FormulaR1C1 = "=IF(ISERROR(" & Formule & "),0," & Formule
& ")"
...
A adapter au fichier bien sur (dans une boucle comme l'exemple de michdenis)

Laurent

"MichDenis" a écrit :

Adapte le nom de la feuille dans la procdure et/ ou de la plage de cellules

Sub TEST()
Dim Trouve As Range
On Error Resume Next
With Feuil1
With .Cells
Set Trouve = .Find(what:="IFERROR", LookIn:=xlFormulas, lookat:=xlPart)
adr = Trouve.Address
If Not Trouve Is Nothing Then
Do
Trouve.Formula = "=IF(ISERROR(IF(U41<R41," & _
"U41*N41,R41*N41)),"""",IF(U41<R41,U41*N41,R41*N41))"
Set Trouve = .FindNext(Trouve)
Loop Until Trouve.Address = adr Or Trouve Is Nothing
End If
End With
End With
End Sub




"Jean-Marc" discussion :
Non je l'ai fait invonlairement lors que j'ai saisi le message sur le forum.
Mais il y a bien un seul >
"Daniel.C" a crit :

> Es-tu sr que la formule commence par "==" ?
> Daniel
>
> > Merci beaucoup pour ces informations. Mais ayant plusieurs cellules
> > impliqus, existe-t'il une solution macro/vba pour appliquer cette formule
> > dans toutes mes cellules simplement avec un simple clique, car la fonction
> > _xlfn.IFERROR est utilis dans plusieurs type de formule dans ce fichier.
> >
> > Merci d'avance pour votre rponse
> >
> > "Daniel.C" a crit :
> >
> >> Bonjour.
> >> "_xlfn" indique que la fonction qui suit n'existe pas dans ta version
> >> d'Excel. L'quivalent est :
> >> =IF(ISERROR(IF(U41<R41;U41*N41;R41*N41));"";IF(U41<R41;U41*N41;R41*N41))
> >> Cordialement.
> >> Daniel
> >>
> >>> Bonjour.
> >>>
> >>> Je reois rgulirement un fichier xlsx avec des chiffres d'une personne
> >>> qui lui travail sur excel 2007. Pour ma part je travaille sur excel 2003.
> >>>
> >>> Comment je pourrais par le biais d'une macro rendre compatible une formule
> >>> excel 2007 sur 2003.
> >>>
> >>> La formule excel 2007 est la suivante :
> >>> ==_xlfn.IFERROR(IF(U41<R41;U41*N41;R41*N41);"") comment faire avec une
> >>> macro pour qu'il utilise une formule identique qui est compatible sur
> >>> excel 2003, pour l'appliquer automatiquement sur toutes les cellules.
> >>>
> >>> Merci pour votre rponse. Malheureusement je ne peux pas vous envoyer le
> >>> fichier pour des questions de confidentialits.
> >>>
> >>> Salutations
> >>
> >>
> >>
>
>
>



Publicité
Poster une réponse
Anonyme