Macro remplir cellules d'un tableau...
MikeThe7
-
MikeThe7 -
MikeThe7 -
Bonjour,
Voici mon soucis. Je travaille sur Excel 2003.
J'ai réalisé le plan du réseau de mon entreprise sous forme de vignettes comme celle-ci :
http://img502.imageshack.us/img502/9093/vignette1nr4.jpg
Sur la page1 du classeur se trouve le tableau qui contient toutes les informations :
Nom Netbios, adresse mac, adresse IP, etc...
Dans ce tableau, 1 ligne représente les informations pour un ordinateur.
Bien entendu, les informations affichées dans la vignette sont liées aux cellules du tableau : modifier une cellule du tableau modifie la cellule correspondante de la vignette.
J'aimerai créer une macro qui automatise le remplissage de la vignette en prenant comme référence la 1ere Cellule que je remplirai moi-même (CD-FRM01 dans l'exemple).
Le numéro de la ligne ne change pas, seulement la colonne est à modifier. Les formules des cellules de la vignette ressemblent à cela :
='Page1'!F83
='Page1'!D83
='Page1'!G83
Rien de bien compliqué mais très long à remplir pour chaque ordinateur, surtout si je dois en rajouter dans le futur.
J'ai commencé à explorer les formules suivantes mais sans trouver comment écrire correctement la macro :
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "='Page1'!R[0]C[-3]"
Tout aide sera la bienvenue, je galère la dessus depuis quelques jours maintenant.
Cordialement, Mike.
Voici mon soucis. Je travaille sur Excel 2003.
J'ai réalisé le plan du réseau de mon entreprise sous forme de vignettes comme celle-ci :
http://img502.imageshack.us/img502/9093/vignette1nr4.jpg
Sur la page1 du classeur se trouve le tableau qui contient toutes les informations :
Nom Netbios, adresse mac, adresse IP, etc...
Dans ce tableau, 1 ligne représente les informations pour un ordinateur.
Bien entendu, les informations affichées dans la vignette sont liées aux cellules du tableau : modifier une cellule du tableau modifie la cellule correspondante de la vignette.
J'aimerai créer une macro qui automatise le remplissage de la vignette en prenant comme référence la 1ere Cellule que je remplirai moi-même (CD-FRM01 dans l'exemple).
Le numéro de la ligne ne change pas, seulement la colonne est à modifier. Les formules des cellules de la vignette ressemblent à cela :
='Page1'!F83
='Page1'!D83
='Page1'!G83
Rien de bien compliqué mais très long à remplir pour chaque ordinateur, surtout si je dois en rajouter dans le futur.
J'ai commencé à explorer les formules suivantes mais sans trouver comment écrire correctement la macro :
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "='Page1'!R[0]C[-3]"
Tout aide sera la bienvenue, je galère la dessus depuis quelques jours maintenant.
Cordialement, Mike.
A voir également:
- Macro remplir cellules d'un tableau...
- Tableau word - Guide
- Trier un tableau excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Imprimer un tableau excel - Guide
- Tableau ascii - Guide
13 réponses
bonjour,
la formule "RECHERCHEV" devrait faire l'affaire sans passer par l'exécution d'une macro
sur la feuille 2 :
RECHERCHEV( "cellule de la valeur recherché", "tableau de recherche", "colonne à afficher", "classé alphabétiquement?")
exemple:
RECHERCHEV( A3; Feuil1!A1:F10; 3; FAUX )
recherche la veleur de la cellule A3 dans la première colonne du tableau A1:F10 et affiche comme résultat la colonne n°3 de ce même tableau (FAUX informe que la recherche doit trouver une valeur exactement pareil)
la formule "RECHERCHEV" devrait faire l'affaire sans passer par l'exécution d'une macro
sur la feuille 2 :
RECHERCHEV( "cellule de la valeur recherché", "tableau de recherche", "colonne à afficher", "classé alphabétiquement?")
exemple:
RECHERCHEV( A3; Feuil1!A1:F10; 3; FAUX )
recherche la veleur de la cellule A3 dans la première colonne du tableau A1:F10 et affiche comme résultat la colonne n°3 de ce même tableau (FAUX informe que la recherche doit trouver une valeur exactement pareil)
Donc si je comprends bien UnPassantQuiPasse, tu me proposes d'écrire cette formule dans chaque cellule de la vignette à remplir...
C'est à mon avis plus long que de faire "=" puis selectionner la cellule correspondante dans le tableau page1.
Je vais tout de même me pencher sur cette solution pour voir si je ne peux pas l'intégrer à la macro que je veux créer.
(J'ai plus de 100 vignettes à remplir, voir plus, donc l'utilisation d'une macro est obligatoire à mon sens)
Je précise ma demande :
Je ne veux renseigner que la premiere cellule de la vignette (CD-FRM01) par "=" puis selection de la cellule correspondante dans le tableau page1
Je veux ensuite que ma macro remplisse toutes les cellules en dessous automatiquement.
(Il n'y a que la colonne qui change, pas la ligne)
J'ai cherché une formule qui me permettrait de dire :
"=Colonne B + 2;Ligne 32" qui donnerait --> "Colonne D;Ligne 32" mais sans succès.
C'est pour cela que je me suis tourné vers la formule :
ActiveCell.FormulaR1C1 = "='Page1'!R[0]C[-3]"
Mais je n'ai pas réussi à l'adapter à ma situation.
Merci en tout cas de me donner vos idées.
Cordialement, Mike.
C'est à mon avis plus long que de faire "=" puis selectionner la cellule correspondante dans le tableau page1.
Je vais tout de même me pencher sur cette solution pour voir si je ne peux pas l'intégrer à la macro que je veux créer.
(J'ai plus de 100 vignettes à remplir, voir plus, donc l'utilisation d'une macro est obligatoire à mon sens)
Je précise ma demande :
Je ne veux renseigner que la premiere cellule de la vignette (CD-FRM01) par "=" puis selection de la cellule correspondante dans le tableau page1
Je veux ensuite que ma macro remplisse toutes les cellules en dessous automatiquement.
(Il n'y a que la colonne qui change, pas la ligne)
J'ai cherché une formule qui me permettrait de dire :
"=Colonne B + 2;Ligne 32" qui donnerait --> "Colonne D;Ligne 32" mais sans succès.
C'est pour cela que je me suis tourné vers la formule :
ActiveCell.FormulaR1C1 = "='Page1'!R[0]C[-3]"
Mais je n'ai pas réussi à l'adapter à ma situation.
Merci en tout cas de me donner vos idées.
Cordialement, Mike.
"Donc si je comprends bien UnPassantQuiPasse, tu me proposes d'écrire cette formule dans chaque cellule de la vignette à remplir..."
non, cette "vignette" tu la rempli à la main, toi même comme tu le souhaites
par contre, dans les cellules en dessous, les valeurs changent en fonction de ce que tu as entré dans la case, gràce à la formule "RECHERCHEV" qui est dynamique puisque cela recherche en fonction de la valeur de la case que tu entres toi même
d'après tes dires
Feuil1
colonne 1 : identifiant PC
colonne 2 : IP
colonne 3 : adresse MAC
colonne 4 : etc...
ligne 1 : titre des colonnes
ligne 2 : enregistrement 1
ligne 3 : enregistrement 2
ligne 4 : etc...
Feuil2
A1: identidiant du PC
A2: IP
A3: Adresse MAC
A4: etc...
B1: identifiant du PC, que tu entres toi même
B2: RECHERCHEV(B1;Feuil1!A1;D4;2;FAUX)
B3: RECHERCHEV(B1;Feuil1!A1;D4;3;FAUX)
B4: RECHERCHEV(B1;Feuil1!A1;D4;4;FAUX)
en entrant toi même en B1 l'id du pc, ses infos "remontent" en dessous sans macro
non, cette "vignette" tu la rempli à la main, toi même comme tu le souhaites
par contre, dans les cellules en dessous, les valeurs changent en fonction de ce que tu as entré dans la case, gràce à la formule "RECHERCHEV" qui est dynamique puisque cela recherche en fonction de la valeur de la case que tu entres toi même
d'après tes dires
Feuil1
colonne 1 : identifiant PC
colonne 2 : IP
colonne 3 : adresse MAC
colonne 4 : etc...
ligne 1 : titre des colonnes
ligne 2 : enregistrement 1
ligne 3 : enregistrement 2
ligne 4 : etc...
Feuil2
A1: identidiant du PC
A2: IP
A3: Adresse MAC
A4: etc...
B1: identifiant du PC, que tu entres toi même
B2: RECHERCHEV(B1;Feuil1!A1;D4;2;FAUX)
B3: RECHERCHEV(B1;Feuil1!A1;D4;3;FAUX)
B4: RECHERCHEV(B1;Feuil1!A1;D4;4;FAUX)
en entrant toi même en B1 l'id du pc, ses infos "remontent" en dessous sans macro
bonjour,
si tu veux tu peux poster ton fichier sur ce site : (en évitant de mettre des données confidentielles)
=> https://www.cjoint.com/
et je te ferais une proposition
si tu veux tu peux poster ton fichier sur ce site : (en évitant de mettre des données confidentielles)
=> https://www.cjoint.com/
et je te ferais une proposition
Merci UnPassantQuiPasse de prendre le temps de regarder cela.
J'ai épuré le fichier qui faisait 3 Mo a l'origine.
http://cjoint.com/data/bruswXPpw2.htm
Sur la 2ème page, j'ai indiqué clairement dans la premiere vignette ce qu'il me fallait.
Je n'ai pas eu le temps de tester ta méthode, ce soir c'est famille ^^.
Cordialement, Mike.
J'ai épuré le fichier qui faisait 3 Mo a l'origine.
http://cjoint.com/data/bruswXPpw2.htm
Sur la 2ème page, j'ai indiqué clairement dans la premiere vignette ce qu'il me fallait.
Je n'ai pas eu le temps de tester ta méthode, ce soir c'est famille ^^.
Cordialement, Mike.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
J'ai bien testé ta méthode UnPassantQuiPasse, cela m'aurait convenu si cela avait fonctionné...
Dans le principe c'est exactement ce qu'il me faut mais malheureusement le vieil Excel 2003 que j'utilise me renvoie des résultats incohérents :
- Dans le meilleur des cas, il me renvoie le résultat de la derniere ligne du tableau, peu importe la colonne. J'ai inversé les colonne du tableau page1 pour mettre la colonne de référence en 1ere position
- J'ai le résultat affiché suivant : #N/A
Je pense que cela vient du fait que la cellule de référence sur laquelle se calquent les autres est elle-même un lien vers une cellule de la 1ere page et non une valeur écrite en "dur". D'ailleurs même si je rempli la 1ere vignette à la main, cela ne change rien...
De plus dans ta formule le "FAUX" est pour mon Excel la [valeur proche] et non "classé alphabétiquement?", je l'ai donc retiré de la formule mais ce n'est pas ce qui a résolu mon soucis.
Si vous avez d'autres idées avant que je passe le PC par la fenêtre... N'hésitez plus !
Cordialement, Mike.
J'ai bien testé ta méthode UnPassantQuiPasse, cela m'aurait convenu si cela avait fonctionné...
Dans le principe c'est exactement ce qu'il me faut mais malheureusement le vieil Excel 2003 que j'utilise me renvoie des résultats incohérents :
- Dans le meilleur des cas, il me renvoie le résultat de la derniere ligne du tableau, peu importe la colonne. J'ai inversé les colonne du tableau page1 pour mettre la colonne de référence en 1ere position
- J'ai le résultat affiché suivant : #N/A
Je pense que cela vient du fait que la cellule de référence sur laquelle se calquent les autres est elle-même un lien vers une cellule de la 1ere page et non une valeur écrite en "dur". D'ailleurs même si je rempli la 1ere vignette à la main, cela ne change rien...
De plus dans ta formule le "FAUX" est pour mon Excel la [valeur proche] et non "classé alphabétiquement?", je l'ai donc retiré de la formule mais ce n'est pas ce qui a résolu mon soucis.
Si vous avez d'autres idées avant que je passe le PC par la fenêtre... N'hésitez plus !
Cordialement, Mike.
Ne vous retenez plus : Votre solution m'intéresse ! Je suis persuadé qu'une réponse attend quelque part d'être trouvée...
Cordialement, Mike.
Cordialement, Mike.
héhéhé
ce fichier devrait t'aider :
http://cjoint.com/data/bwlCBgoxTl.htm
mais peut-être que tu pourrais faire plus simple par rapport à ce que tu cherches à faire ?
enfin, je peux pas dire vu que je sais pas vraiment ce que tu vas en faire
bon courage ^^
ce fichier devrait t'aider :
http://cjoint.com/data/bwlCBgoxTl.htm
mais peut-être que tu pourrais faire plus simple par rapport à ce que tu cherches à faire ?
enfin, je peux pas dire vu que je sais pas vraiment ce que tu vas en faire
bon courage ^^
Bonsoir,
Pas sûr d'avoir bien compris quelle était ta clé de recherche mais tu auras au moins le principe :
Rechercher ta clé en colonne F (nom netbios ?) avec EQUIV(B$17;'Tableau Complet'!F:F;0)) ce qui te ramène le n° ligne.
Et ramener la valeur même ligne de n'importe quelle colonne (qu'elle soit derrière ou devant celle de recherche de ta clé) avec :
=INDEX('Tableau Complet'!D:D;EQUIV(B$17;'Tableau Complet'!F:F;0))
(ici ramène colonne D)
http://www.cijoint.fr/cjlink.php?file=cj200901/cijorxabmP.xls
eric
Pas sûr d'avoir bien compris quelle était ta clé de recherche mais tu auras au moins le principe :
Rechercher ta clé en colonne F (nom netbios ?) avec EQUIV(B$17;'Tableau Complet'!F:F;0)) ce qui te ramène le n° ligne.
Et ramener la valeur même ligne de n'importe quelle colonne (qu'elle soit derrière ou devant celle de recherche de ta clé) avec :
=INDEX('Tableau Complet'!D:D;EQUIV(B$17;'Tableau Complet'!F:F;0))
(ici ramène colonne D)
http://www.cijoint.fr/cjlink.php?file=cj200901/cijorxabmP.xls
eric
Bonjour à vous,
Tout d'abord, Merci à UnPassantQuiPasse et à eriiic de prendre le temps de partager leur connaissances.
UnPassantQuiPasse : J'ai adapté ta méthode avec RECHERCHEV. Les résultats #N/A ne s'affichent plus : cela devait venir du fait que ma colonne de référence n'était pas la première.
Maintenant je rencontre un autre soucis : Aléatoirement (c-à-d pour certaines lignes dans le tableau qui ne se suivent pas forcément, qui ne se ressemblent pas forcément) le résultat renvoyé par RECHERCHEV dans les cellules correspond à la derniere ligne remplie du tableau. Je n'ai pas encore compris pourquoi.
eriiic : Je viens de regarder ton fichier. Ma colonne de référence (celle des adresses IP) est maintenant en première position. J'ai rapidement testé et ta formule semble faire la même chose que RECHERCHEV, mais sans les bugs pour le moment. J'approfondis cela cette aprème et je vous tiens au courant.
J'espère que UnPassantQuiPasse n'en aura pas marre de passer...
Cordialement, Mike
Tout d'abord, Merci à UnPassantQuiPasse et à eriiic de prendre le temps de partager leur connaissances.
UnPassantQuiPasse : J'ai adapté ta méthode avec RECHERCHEV. Les résultats #N/A ne s'affichent plus : cela devait venir du fait que ma colonne de référence n'était pas la première.
Maintenant je rencontre un autre soucis : Aléatoirement (c-à-d pour certaines lignes dans le tableau qui ne se suivent pas forcément, qui ne se ressemblent pas forcément) le résultat renvoyé par RECHERCHEV dans les cellules correspond à la derniere ligne remplie du tableau. Je n'ai pas encore compris pourquoi.
eriiic : Je viens de regarder ton fichier. Ma colonne de référence (celle des adresses IP) est maintenant en première position. J'ai rapidement testé et ta formule semble faire la même chose que RECHERCHEV, mais sans les bugs pour le moment. J'approfondis cela cette aprème et je vous tiens au courant.
J'espère que UnPassantQuiPasse n'en aura pas marre de passer...
Cordialement, Mike
bonjour,
oups, oui j'ai bien oublié un petit détail à ma formule :-X
=RECHERCHEV(B$2;Feuil1!$A$2:$G$14;2 ;0 )
le " ;0 " de la fin qui "demandera" à la formule non pas de s'arrêter sur une valeur proche mais sur une valeur exact
ps: la solution proposé par eriic a le mérite de ne pas nécessité le déplacement, feuille "tableau complet", de la colonne "nom netbios"... pour le reste ça fait le même travail
oups, oui j'ai bien oublié un petit détail à ma formule :-X
=RECHERCHEV(B$2;Feuil1!$A$2:$G$14;2 ;0 )
le " ;0 " de la fin qui "demandera" à la formule non pas de s'arrêter sur une valeur proche mais sur une valeur exact
ps: la solution proposé par eriic a le mérite de ne pas nécessité le déplacement, feuille "tableau complet", de la colonne "nom netbios"... pour le reste ça fait le même travail
Re-bonjour,
Après avoir tester les 2 méthodes, je ne sais laquelle choisir, étant donné que les 2 fonctionnent très bien. C'est vrai que INDEX permet de ne pas avoir à déplacer la colonne de référence en premiere position et c'est un avantage certain. Le fait aussi d'indiquer la lettre de la colonne au lieu de son numéro dans le tableau permet de ne pas avoir a compter les colonnes au moment de faire la formule.
Un dernier petit détail (sans grand rapport avec le sujet de la discussion, mais au cas où, je pose la question ^^) :
Dans la cellule qui doit indiquer l'étage, j'ai la mise en forme suivante :
- Format de Cellule -> Nombre -> Personnalisé -> @ "Etage"
Cela me permet de n'avoir à taper que le numéro de l'étage et j'obtiens l'affichage : "2ème Etage"
Si je modifie la formule, la cellule affiche ensuite :
=RECHERCHEV(K29;'Tableau Complet'!$B$21:$S$602;5;0)
Le seul moyen que j'ai trouvé pour rétablir l'affichage c'est de faire la manipulation suivante :
- Format de Cellule -> Nombre -> Standard
Je doucle-clique dans la cellule comme pour la modifier mais sans rien changer puis [Entrée]
- Format de Cellule -> Nombre -> Personnalisé -> @ "Etage"
Je ne comprends pas d'où vient ce bug, et aléatoirement cela se produit aussi sur ma cellule de référence dans la vignette, alors que pour elle, il n'y a aucune mise en forme spéciale.
Cordialement, Mike.
Après avoir tester les 2 méthodes, je ne sais laquelle choisir, étant donné que les 2 fonctionnent très bien. C'est vrai que INDEX permet de ne pas avoir à déplacer la colonne de référence en premiere position et c'est un avantage certain. Le fait aussi d'indiquer la lettre de la colonne au lieu de son numéro dans le tableau permet de ne pas avoir a compter les colonnes au moment de faire la formule.
Un dernier petit détail (sans grand rapport avec le sujet de la discussion, mais au cas où, je pose la question ^^) :
Dans la cellule qui doit indiquer l'étage, j'ai la mise en forme suivante :
- Format de Cellule -> Nombre -> Personnalisé -> @ "Etage"
Cela me permet de n'avoir à taper que le numéro de l'étage et j'obtiens l'affichage : "2ème Etage"
Si je modifie la formule, la cellule affiche ensuite :
=RECHERCHEV(K29;'Tableau Complet'!$B$21:$S$602;5;0)
Le seul moyen que j'ai trouvé pour rétablir l'affichage c'est de faire la manipulation suivante :
- Format de Cellule -> Nombre -> Standard
Je doucle-clique dans la cellule comme pour la modifier mais sans rien changer puis [Entrée]
- Format de Cellule -> Nombre -> Personnalisé -> @ "Etage"
Je ne comprends pas d'où vient ce bug, et aléatoirement cela se produit aussi sur ma cellule de référence dans la vignette, alors que pour elle, il n'y a aucune mise en forme spéciale.
Cordialement, Mike.
reuh,
le formatage @ affiche du texte quel qu'il soit, y compris une formule commençant par =
le format 0" étage" devrait régler cela (0 représente un nombre sans format particulier, pas de décimal)
0,00: un nombre à 2 décimal prêt
# ##0: un espace entre les milliers si le nombre est >= à 1 000
encore mieux, le format suivant : [=1]0"er étage";0"è étage"
affichera "er étage" derrière le chiffre lorsque la valeur de la cellule est = 1, sinon il affiche "è étage" par défaut
" aléatoirement cela se produit aussi sur ma cellule de référence dans la vignette, alors que pour elle, il n'y a aucune mise en forme spéciale. "
pour ça par contre, là comme ça je suis pas très inspiré...
le formatage @ affiche du texte quel qu'il soit, y compris une formule commençant par =
le format 0" étage" devrait régler cela (0 représente un nombre sans format particulier, pas de décimal)
0,00: un nombre à 2 décimal prêt
# ##0: un espace entre les milliers si le nombre est >= à 1 000
encore mieux, le format suivant : [=1]0"er étage";0"è étage"
affichera "er étage" derrière le chiffre lorsque la valeur de la cellule est = 1, sinon il affiche "è étage" par défaut
" aléatoirement cela se produit aussi sur ma cellule de référence dans la vignette, alors que pour elle, il n'y a aucune mise en forme spéciale. "
pour ça par contre, là comme ça je suis pas très inspiré...
Bien le bonjour,
UnPassantQuiPasse : J'ai le plaisir de t'annoncer que tu es le grand gagnant du concours de "la meilleure formule adapté à mes besoins". Malgré les avantage de INDEX que j'ai cité plus haut, au moment de créer le "masque vignette" dont je me sers pour insérer un nouvel ordinateur, il m'a paru plus évident d'adapter la formule avec RECHERCHEV : pas de cellule supplémentaires à bloquer avec "$", le "no_index_col" qui ne change pas même quand on le colle à différents endroits sur différentes pages. Voici donc la formule finale que j'utilise :
=RECHERCHEV(M29;'Tableau Complet'!$B$22:$S$602;2;0)
Avec INDEX, cela donne :
=INDEX('Tableau Complet'!$C:$C;EQUIV(S29;'Tableau Complet'!$B:$B;0))
Encore une fois, un grand merci à UnPassantQuiPasse et à eriiic pour votre aide si précieuse. Et moi qui me prenait la tête avec des macro pour changer de cellule, appeler un résultat dans une cellule à part pour vérification, etc... J'aurais mis beaucoup de temps et peut-être sans y arriver.
Pour ce qui est de la mise en forme, la solution [=1]0"er étage";0"è étage" ne me va pas pour la simple raison que dans les cellules du tableau qui servent de référence, ce n'est pas juste "1" ou "2" qui y sont inscrit, mais "1er Etage" ou "2ème Eatge". C'est la raison pour laquelle j'avais choisi le @ "Etage".
J'ai cherché un peu sur Google pour voir si d'autres avait le même probleme que moi et j'ai trouvé une personne qui donnait la même solution que j'ai trouvé, mais pas de solution pour résoudre le probleme de façon définitive.
Cela ne doit pas venir du format de cellule étant donné que cela se produit même sur des cellule au format Standard.
Je peux être sur que quand je modifie trois fois une cellule qui contient une formule faisant appel ou référence à des cellules sur une autre page, le bug va se manifester à la 4ème modification. C'est une moyenne, parfois c'est dès la 1ere modif, parfois la 5ème fois... Même sur Office 2007 j'ai eu le cas. Peut-être qu'un futur patch corrigera cela, ou alors je trouverai une solution qui confirmera mon sentiment d'être un boulet dans certains domaines...
Cordialement, Mike.
UnPassantQuiPasse : J'ai le plaisir de t'annoncer que tu es le grand gagnant du concours de "la meilleure formule adapté à mes besoins". Malgré les avantage de INDEX que j'ai cité plus haut, au moment de créer le "masque vignette" dont je me sers pour insérer un nouvel ordinateur, il m'a paru plus évident d'adapter la formule avec RECHERCHEV : pas de cellule supplémentaires à bloquer avec "$", le "no_index_col" qui ne change pas même quand on le colle à différents endroits sur différentes pages. Voici donc la formule finale que j'utilise :
=RECHERCHEV(M29;'Tableau Complet'!$B$22:$S$602;2;0)
Avec INDEX, cela donne :
=INDEX('Tableau Complet'!$C:$C;EQUIV(S29;'Tableau Complet'!$B:$B;0))
Encore une fois, un grand merci à UnPassantQuiPasse et à eriiic pour votre aide si précieuse. Et moi qui me prenait la tête avec des macro pour changer de cellule, appeler un résultat dans une cellule à part pour vérification, etc... J'aurais mis beaucoup de temps et peut-être sans y arriver.
Pour ce qui est de la mise en forme, la solution [=1]0"er étage";0"è étage" ne me va pas pour la simple raison que dans les cellules du tableau qui servent de référence, ce n'est pas juste "1" ou "2" qui y sont inscrit, mais "1er Etage" ou "2ème Eatge". C'est la raison pour laquelle j'avais choisi le @ "Etage".
J'ai cherché un peu sur Google pour voir si d'autres avait le même probleme que moi et j'ai trouvé une personne qui donnait la même solution que j'ai trouvé, mais pas de solution pour résoudre le probleme de façon définitive.
Cela ne doit pas venir du format de cellule étant donné que cela se produit même sur des cellule au format Standard.
Je peux être sur que quand je modifie trois fois une cellule qui contient une formule faisant appel ou référence à des cellules sur une autre page, le bug va se manifester à la 4ème modification. C'est une moyenne, parfois c'est dès la 1ere modif, parfois la 5ème fois... Même sur Office 2007 j'ai eu le cas. Peut-être qu'un futur patch corrigera cela, ou alors je trouverai une solution qui confirmera mon sentiment d'être un boulet dans certains domaines...
Cordialement, Mike.