• Initiateur de la discussion Initiateur de la discussion lexus92
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

lexus92

Guest
Bonjour à tous,

Voilà, j'ai réussi à faire une macro qui fait excatement ce que je lui demande (merci à tous ceux qui m'ont aidé à comprendre). Je me retrouve de nouveaux face à un problème, la fonction DECALER. J'ai compris son fonctionnement mais j'ai du mal. J'ai deux objectifs:

1: Si je clique sur le bouton de ma macro, un nouveau tableau se créé. Ce que je souhaite, c'est que en B29, on est la soustraction des deux derniers tableaux, puisque c'est un écart. Exemple, je crée un tableau, j'ai donc par exemple X29-029, puis en cliquant sur ma macro, la formule deviendra AF249-X29 ....

2: J'aimerais que les valeurs contenu dans la colonne A orange et E violette se colle dans une autre feuille. Mon problème est toujours le même, lorsque je créais un nouveau tableau, j'aimerais que la liason change également.

Je vous joint un fichier. J'ai testé des formules DECALER, mais sans succès. 🙁

Merci à tous d'avance.

Cordialement,

Alexandre
 

Pièces jointes

Re : Fonction DECALER 🙁

Bonjour,

Merci, mais ce n'est pas exactement ça. En fait, ce que je voudrais, c'est la formule que vous m'avez donné, et qui se décale à chaque ajout de tableau. =DECALER($B29;0;22)-DECALER($B29;0;13) est fixe puisqu'elle prend la 13 eme et la 22 eme colonne. Ce que je voudrais, c'est qu'à chaque ajout de tableau via ma macro, la formule se decale également pour toujours faire la différence entre les deux derniers tableau.

J'espère avoir été assez clair, j'ai un peu de mal à expliqué 🙂

Cordialement,

Alexandre
 
Re : Fonction DECALER 🙁

Merci à vous deux,

=DECALER($B29;0;22+(NB.SI($27:$27;"A")-1)*9)-DECALER($B29;0;13+(NB.SI($27:$27;"A")-1)*9). Cette formule est quasiment ce que je recherche. Je m'explique: lorsque je l'applique, j'ai bien le bon décalage. Le problème, c'est qu'à chaque ajout de tableau, la formule ne calcule l'écart entre les deux derniers tableaux, mais elle calcule l'écart entre le dernier tableau et le vide.
Au lieu d'avoir par exemple 7-10=-3, je vais avoir 0-7=-7.

Merci beaucoup,

Cordialement,

Alexandre
 
Re : Fonction DECALER 🙁

Le décalage ne s'imposait que pour se référer toujours aux mêmes colonnes même si on insérait quelque chose entre.
Là vous voulez toujours vous référer 2 aux derniers tableau. Or vous en avez 2 justement. référez vous y tout simplement, mais faites insérer cellules copiées devant au lieu de coller: ça se réfèrera toujours aux deux dernier tableaux ! En suite transvaser les valeurs comme il convient selon votre logique.
P.S. Je me permets de rappeler ma propre citation d'un autre fil visiblement consacré au même problème:
J'espère que vous vous en souviendrez à l'occasion à votre avantage: lorsqu'on insère des colonnes et lignes, toutes références dans tout le classeur (Noms de plage, formules, zone d'impression, MeFC, tout !) sont automatiquement rectifiées en conséquence. J'utilise beaucoup cette particularité bien utile.
Cordialement.
 
Dernière édition:
Re : Fonction DECALER 🙁

Oui, en effet je souhaites toujours me reférer au deux derniers tableaux. Dans mon exemple, j'en ai 2 mais à la fin, il pourrait y en avoir 20. Je vais continuer à chercher, et à réfléchir peut être à une alternative. J'ai bien pris en compte votre citation, mais je dois vous avouez que je débute sur excel, et que je n'ai pas tout compris 🙂

Merci pour votre aide,

Cordialement,
 
Re : Fonction DECALER 🙁

Re Bonjour,

Merci Patrick pour votre formule. J'ai essayé plusieurs combinaisons possibles, mais je n'avais pas pensé faire un -2 au lieu du -1. En tout cas merci pour votre formule. Si je souhaite coller les valeurs de la colonne A (orange) du dernier tableau sous forme collage avec liaison sur un autre onglet, je suppose que je peux réutiliser la fonction DECALER ? Pour qu'a chaque création de tableau, le collage avec liaison se décale également.

Merci d'avance

Cordialement,

Alexandre
 
Re : Fonction DECALER 🙁

Re,

Si je souhaite coller les valeurs de la colonne A (orange) du dernier tableau sous forme collage avec liaison sur un autre onglet, je suppose que je peux réutiliser la fonction DECALER ?
Je vous conseille au moins d'essayer :
-Ca marche : super 😎
-Ca marche pas : j'essaie d'adapter et je reviens si je n'y parviens pas 😉
 
Re : Fonction DECALER 🙁

Re bonjour à tous,

J'ai essayé plusieurs formules à partir de vos différentes réponses, et de recherches sur google. Aucune ne marche, mais j'obtiens quand même des chiffres, ce n'est juste pas les bons.

Code:
=DECALER('Feuil 2'!O29;0;22+(NB.SI('Feuil 2'!$27:$27;"A")-1)*9)
==> Ne marche pas, et j'obtiens 0

Code:
=DECALER('Feuil 2'!O30;0;22+(NB.SI($27:$27;"A")-1)*9)
==> Idem

Code:
=DECALER('Feuil 2'!$O$31;0;(COLONNE()-1)*9)
==> J'obtiens une valeur mais elle ne se décale pas

Code:
=DECALER('Feuil 2'!O32;0;NB.SI('Feuil 2'!26:26;"A"-1)*9)
==> Idem


Je vous joins de nouveau le fichier avec les formules que j'ai testé.

Merci d'avance

Cordialement,

Alexandre
 

Pièces jointes

Re : Fonction DECALER 🙁

Bonjour.
Il faudrait que vous vous expliquiez une bonne fois pour toutes sur ce que vous voulez globalement. Parce que là je n'y comprend plus rien.
Dans le 1er fil (...malgré les $) vous vous plaigniez de ce qu'une référence changeait suite à une insertion. Je vous avais alors conseillé d'utiliser DECALER pour se référer toujours aux mêmes colonnes, donc par un décalage fixe de colonnes par rapport à la cellule qui porte la formule. Je regrette de vous avoir donné ce conseil: on pouvait aussi copier derrière au lieu d'insérer. Parce que maintenant, vous essayez à tour de bras des DECALER incompréhensibles alors qu'apparemment vous souhaitez cette fois que les formules change en faveur des deux derniers tableaux de droite. Qu'est-ce que vous voulez à la fin ??
Cordialement.
 
Re : Fonction DECALER 🙁

Bonjour,

C'est très simple mais je m'exprime très mal. J'ai en tout 3 objectifs:

- Faire une macro qui copie colle les tableaux les uns à la suite des autres ===> elle est faite et elle marche très bien.

- Soustraire la colonne A du dernier tableau et la colonne A de l'avant dernier, et afficher le résultat dans la colonne B ===> Grâce à la formule de Patrick, le résultat cherché est obtenu
Code:
=DECALER($B29;0;22+(NB.SI($27:$27;"A")-2)*9)-DECALER($B29;0;13+(NB.SI($27:$27;"A")-2)*9)

Maintenant 3ème objectif, et promis c'est le dernier, c'est de pouvoir copier les valeurs de la colonne orange A du dernier tableau dans un autre onglet, et à chaque création d'un nouveau tableau, les valeurs de la colonne A se mettent a jour. Ce que j'expliquais, c'est que je pensais pouvoir utiliser la formule de Patrick, et de l'adpater avec un collage avec liaison. C'est également pour cela que j'ai posté mes essais de formules, qui hélas ne sont pas concluants.

J'espère avoir été suffisament clair, et je m'excuse de ne pas m'être exprimer correctement.

Cordialement,

Alexandre
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
13
Affichages
420
Réponses
14
Affichages
491
Réponses
1
Affichages
285
W
Réponses
16
Affichages
505
Retour