XL 2019 Prolongation de formule avec des cellules écartées

Samson64

XLDnaute Nouveau
Bonjour,
J'ai ma formule: =SI('[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A13<>"Appel d'offres ouvert";'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H4;"") et j'aimerais la prolonger. Petite subtilité, j'aimerais que lorsque que je prolonge ma formule, chaque cellule sélectionné dans ma formule ont 40 cellules d'espace à chaque fois. J'aimerais donc que si je prolonge ma formule cela donne: =SI('[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A53<>"Appel d'offres ouvert";'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H44;"").
Merci à ceux qui répondront et prendront le temps d'y répondre.
 

piga25

XLDnaute Barbatruc
Bonjour,
Peut être comme cela :
VB:
=SI("'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"&DECALER($A$13;40*(LIGNE()-12);0)<>"Appel d'offres ouvert";"'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H"&DECALER($H$4;40*(LIGNE()-3);0);"")
 

Samson64

XLDnaute Nouveau
Bonjour,
Peut être comme cela :
VB:
=SI("'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"&DECALER($A$13;40*(LIGNE()-12);0)<>"Appel d'offres ouvert";"'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H"&DECALER($H$4;40*(LIGNE()-3);0);"")
Bonjour,
Je viens d'essayer et cela ne marche pas malheureusement.
Merci quand même d'avoir essayer, je vais essayer d'utiliser cette base pour la faire fonctionner.
 

piga25

XLDnaute Barbatruc
Bonjour,

Comme cela : formule à placer sur une cellule de la première ligne. Si autre part indiquer la ligne de départ pour pouvoir ajuster la formule.
=SI("'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"&LIGNE(DECALER(A$13;40*(LIGNE())-13;0))<>"Appel d'offres ouvert";"'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H"&LIGNE(DECALER($H$4;40*(LIGNE())-4;0));"")
Si on fait uniquement cette partie de formule on voit bien le décalage de 40.
VB:
=LIGNE(DECALER(A$13;40*(LIGNE())-13;0))

Vous pouvez joindre un fichier exemple.
 

Samson64

XLDnaute Nouveau
Bonjour,

Comme cela : formule à placer sur une cellule de la première ligne. Si autre part indiquer la ligne de départ pour pouvoir ajuster la formule.

Si on fait uniquement cette partie de formule on voit bien le décalage de 40.
VB:
=LIGNE(DECALER(A$13;40*(LIGNE())-13;0))

Vous pouvez joindre un fichier exemple.
Après quelques essais, la formule ne marche pas, et lorsque je fais quelques modifications de cases ou que j'enlève les guillemets cela me met NOM?#. Je pense que le problème vient des "", car la formule considère ce qu'il y a entre guillemets comme du texte et non comme des valeurs cherchés dans un autre fichier. Je vais essayer de partir sur cette base et essayer de la faire fonctionner ou de continuer mes recherches. Si vous avez la dénomination du procédé que je cherche, cela pourrait faciliter mes recherches.
Je joins un Fichier avec 4 cellules remplis dans les emplacements 1, 41, 81 et 121.
Si, par ailleurs, vous avez des documentations à conseiller pour du excel avancé (VBA,Macro,Formules matricielles etc..., je suis preneur)
Merci encore d'avoir pris le temps de répondre.
 

Pièces jointes

  • Test classeur.xlsx
    9.2 KB · Affichages: 3
Dernière édition:

piga25

XLDnaute Barbatruc
Bonjour,
Cela fonctionne pourtant bien comme ceci :
VB:
="A"&LIGNE(DECALER(A1;40*(LIGNE())-13;0))
Il faut que le A soit entre des guillemets "A"

ce qui donne pour votre formule :
Code:
"'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"
a mettre entre guillemets.
 

Samson64

XLDnaute Nouveau
Bonjour,
Cela fonctionne pourtant bien comme ceci :
VB:
="A"&LIGNE(DECALER(A1;40*(LIGNE())-13;0))
Il faut que le A soit entre des guillemets "A"

ce qui donne pour votre formule :
Code:
"'[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"
a mettre entre guillemets.
Bonjour,
j'ai mis entre guillemets la formule et voici ce que ça donne:
=SI("'F:\marches\0 Tableaux de suivi\[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!A"&DECALER('[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!$A$10;40*(LIGNE()-10);0)<>"Appel d'offres ouvert";"'F:\marches\0 Tableaux de suivi\[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!H"&DECALER('[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!$H$1;40*(LIGNE()+1);0);"").
Plus de problème de NOM?# mais maintenant un problème de REF#?.
 

TooFatBoy

XLDnaute Barbatruc
Il faut maintenant que j'arrive à l'implanter dans ma formule de base.
Essaye ceci :
Code:
=DECALER('F:\marches\0 Tableaux de suivi\[REGISTRE DES MARCHES 2024.xlsm]Registre des marchés'!$A$1;40*(LIGNE()-1);0)

Si tu mets la formule sur la ligne 1 de ton classeur, ça devrait récupérer les valeurs des cellules A1, A41, A81, etc. du fichier mentionné dans la formule.

⚠️ Mais ça ne semble marcher que si les deux fichiers sont ouverts en même temps. :(
 

Statistiques des forums

Discussions
315 083
Messages
2 116 043
Membres
112 641
dernier inscrit
chab77