Formules excel 2003 vs 2007

Résolu/Fermé
Signaler
-
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
-
Bonjour,

Voici mon problème

j'ai intégré cette formule sous excel 2003

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect([D8:D10000], Target) Is Nothing Then
If Target <> "" And Target.Offset(0, -1) <> "" Then
Range(Target.Offset(0, 4), Target.Offset(0, 7)).ClearContents
If Target.Offset(1, -1) = Target.Offset(0, -1) Then
Target.Offset(1, 0) = Target
End If
End If
End If

End Sub

J'ai basculé sous 2007 mais cette formule ne fonctionne plus
Que dois je faire ?

Autre pb, j'ai cette formule lien hypertextes automatiques qui va chercher différentes valeurs de colonnes pour retrouver le fichier sous une nomenclature précise.
=HYPERLINK($N$5&G179&"\"&L179&C179&"_"&D179&TEXT(I179;"jjmmaa")&".pdf";L179)Je suis sous office anglais, sous 2003 la formule est ddmmyy pour le format de date
Par contre sous 2007 ça ne fonctionne plus et je dois modifier la formule pour jjmmaa
Sachant que nous sommes plusieurs à utiliser ce même fichier et que certaisn sont sous 2003 et d'autres sous 2007 que dosi je faire ?

5 réponses

Messages postés
10183
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 novembre 2021
2 251
salut anthony

je ne peux pas te répondre sur ce sujet , je me suis arreté a excel 2003 (VF)
Par contre, au sujet de ton post sur les "Graphes en série", j'ai fait une erreur sur la fonction transformant les colonnes alpha en colonnes num, je t'ai envoyé il y a quelque temps, un Message Privé pour que tu effectues la modif et comme tu n'as pas répodu ...

bonne suite
bonsoir,
oui j'ai bien pris en compte ton dernier message et pas de soucis rencontré
il y a de fortes chances que je te sollicite prochainement car je devrais recevoir les certificats sous format tableur et il faudra insérer les nouvelles données à celles déjà existantes.
merci et à bientôt
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 715
Bonjour,

Ce n'est pas une formule mais un macro-programme, une macro en abrégé (va savoir pourquoi on ne dit pas un macro ?)

Ta macro fonctionne très bien avec Excel 2007, as-tu activé les macros dans les options Excel (centre de gestion de confidentialité) ?
Cordialement
Patrice
J'avoue ne pas comprendre. La fonction qui fait basculer toutes les lignes ayant la même référence fonctionne mais par contre ça n'efface pas mes cases éloignées de 4 à 7 colonnes.
Le format XLSM serait il responsable ?!
Messages postés
10183
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
26 novembre 2021
2 251
re

Q1. ton code me semble correct et fonctionne bien avec excel 2003, es tu sur que les cellules qui envoient le clearcontents sont bien non vides toutes les deux?
Q2. peut etre tester la version de excel avec quelque chose du genre
=SI(INFO("version")="10.0";"excel 2003";"excel 2007")

bonne suite
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
346
Ou utiliser dans la macro l'instruction "Application.Version" pour tester la version d'Excel.
Et pour tester la langue d'Office : "Application.LanguageSettings"

Michel
Les cellules contiennent bien des dates.
le plus bizarre c'est que j'ai mis cette même formule dans un autre fichier en excel 2003 et ça efface bien le contenu des cellules et si j'enregistre ce même fichier en xlsm, ça fonctionne encore.

par contre j'avais eu des soucis avec mon fichier lors de la migration 2003 vers 2007. Quand je changeais d'onglet ça plantait excel
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
346
Et oui, pour moi 2007 ou 2010 constituent de vrais régressions par rapport à 2003. Microsoft a rajouté quelques lignes et colonnes supplémentaires (bof), des possibilités de mises en formes conditionnelles plus importantes et quelques bricoles inutiles ou si peu. Au final son utilisation est une vraie galère et surtout il y a cet ENORME bandeau des menus qui bouffe une place substantielle qui serait bien plus utile pour le tableau lui même.
Bref, ils se sont peut-être fait plaisir, sans me (nous?) faire plaisir.
Sans oublier les quelques incompatibilités totalement incompréhensibles sur les macros qui obligent à reprendre des lignes de codes alors que la compatibilité devrait être totale avec les versions antérieures. C'est du moins ce que revendique Microsoft. La réalité est toute autre et vous en faite vous aussi l'expérience.
2003 est un produit abouti. 2007 et 2010 ..........
Michel
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 715
Bonjour anthony,

Je ne comprends pas quel est ton problème, cette macro fonctionne parfaitement
sous Excel 2007 (en xlsm).
Peux-tu mettre un exemple de ton fichier sur http://cijoint.fr/

Pour mic13710 :
Je ne partage pas ton avis sur la version 2007, je trouve qu'elle offre de réels avantages. Jusqu'à présent je n'ai eu aucun problème de compatibilité avec les macros des versions antérieures.
Effectivement, le bandeau est un peu déstabilisant au début, mais si il gène tu peux le réduire.
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
346
Les gouts et les couleurs ...
Quand à la compatibilité, perso j'ai eu un problème sur une macro qui ajuste les dimensions de formes sur une feuille protégée.
Pas de problème avec 2003 pour le faire sans déprotéger la feuille. Impossible de le faire avec 2007 en mode protégé.
J'ai donc dû rajouter la déprotection/reprotection de la feuille à mon code pour que ce soit compatible 2007. Pourquoi uniquement pour cette opération alors que sur le même fichier j'en fait des centaines d'autres en mode protégé ? mystère.
Et je suppose que les codes qui font référence à la dernière ligne (65536) ou la dernière colonne (256) ne fonctionnent pas. Je n'ai pas eu à tester puisque le problème ne s'est pas encore posé vu que je n'ai pas ce genre d'article dans mes codes.
Voici le fichier
http://www.cijoint.fr/cjlink.php?file=cj201103/cij2gLwDcb.xlsm
c'est sur la colonne M que le format date pose pb
j'ai mis le format qui était bon sous 2003 sur la ligne 8 et toutes les autres sont au format modifié pour 2007
le but étant de créer automatiquement les liens hypertextes et le conditionnal formating indique si le lien a pu être créé ou non. en vert c'est que le fichier n'a pas été trouvé
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 715
Bonjour,

Je ne sais pas pourquoi ça bogue mais ton problème vient de la fonction ExisteFichier située dans le Module1 (qui n'est d'ailleurs pas utilisée) :

la fonction n'a pas besoin d'être recalculée chaque fois qu'une donnée de la feuille change, mais seulement quand la variable d'entrée change.

supprime Application.Volatile
YEEEEESS ça fonctionne en supprimant la ligne.
étonnant que pour deux fichiers avec les mêmes codes tu n'obtiennes pas les mêmes résultats mais bon ça fonctionne et c'est l'essentiel.
au début j'étais parti sur application volatile pour avoir en flux continu la confirmation que le fichier était bien en lien hypertexte sauf que ça n'était pas assez efficace, fallait qu'il y a une modif quelque part pour que les calculs se reffassent. du coup j'étais passé par le conditionnal formating qui me donnait l'étatà chaque instant mais j'ai zappé que application volatile n'avait plus lieu d'être.

Merci à vous d'avoir apporté vos idées conduisant à la résolution
Messages postés
8539
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
20 juillet 2021
1 715
De rien, au plaisir de te relire sur le forum

Patrice