J'ai une question un peu tordue mais je voudrais être le plus clair possible
dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement
identique (une par mois)
Dans chaque feuille, la colonne A contient des dates d'opérations mais
disjointes (elles sont groupées en 3 paquets).
Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur
maximum de la dernière feuille saisie (elle correspond à la dernière date
d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement
à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Michir,
Pour la valeur "Date" la plus grande de la colonne A de la feuil1 = Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus grande, =INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres entiers long ...!
Salutations!
"Michir" a écrit dans le message de news: 43ae9d4d$0$20159$ Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair possible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mais disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur maximum de la dernière feuille saisie (elle correspond à la dernière date d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
Bonjour Michir,
Pour la valeur "Date" la plus grande de la colonne A de la feuil1
= Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus grande,
=INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres
entiers long ...!
Salutations!
"Michir" <michir1789@wanadoo.fr> a écrit dans le message de news: 43ae9d4d$0$20159$8fcfb975@news.wanadoo.fr...
Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair possible
dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement
identique (une par mois)
Dans chaque feuille, la colonne A contient des dates d'opérations mais
disjointes (elles sont groupées en 3 paquets).
Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur
maximum de la dernière feuille saisie (elle correspond à la dernière date
d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement
à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Pour la valeur "Date" la plus grande de la colonne A de la feuil1 = Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus grande, =INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres entiers long ...!
Salutations!
"Michir" a écrit dans le message de news: 43ae9d4d$0$20159$ Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair possible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mais disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur maximum de la dernière feuille saisie (elle correspond à la dernière date d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
Michir
Merci michdenis Le seul problème est que je résonne sur l'ensemble des 12 feuilles comme si cela était une seule feuille et je souhaite récupérer la dernière date en colonne A (ainsi que son objet en colonne B) figurant sur la dernière feuille saisie. En cerise sur le gâteau, je peux avoir plusieurs dates identiques (seule la denière est à considérer) Michel
"michdenis" a écrit dans le message de news:
Bonjour Michir,
Pour la valeur "Date" la plus grande de la colonne A de la feuil1 = Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus grande, =INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres entiers long ...!
Salutations!
"Michir" a écrit dans le message de news: 43ae9d4d$0$20159$ Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair possible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mais disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur maximum de la dernière feuille saisie (elle correspond à la dernière date d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
Merci michdenis
Le seul problème est que je résonne sur l'ensemble des 12 feuilles comme si
cela était une seule feuille
et je souhaite récupérer la dernière date en colonne A (ainsi que son objet
en colonne B) figurant sur la dernière feuille saisie.
En cerise sur le gâteau, je peux avoir plusieurs dates identiques (seule la
denière est à considérer)
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
e7hH2tVCGHA.516@TK2MSFTNGP15.phx.gbl...
Bonjour Michir,
Pour la valeur "Date" la plus grande de la colonne A de la feuil1
= Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus
grande,
=INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres
entiers long ...!
Salutations!
"Michir" <michir1789@wanadoo.fr> a écrit dans le message de news:
43ae9d4d$0$20159$8fcfb975@news.wanadoo.fr...
Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair
possible
dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement
identique (une par mois)
Dans chaque feuille, la colonne A contient des dates d'opérations mais
disjointes (elles sont groupées en 3 paquets).
Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur
maximum de la dernière feuille saisie (elle correspond à la dernière date
d'opération) ainsi que le libellé de l'opération qui se trouve
immédiatement
à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Merci michdenis Le seul problème est que je résonne sur l'ensemble des 12 feuilles comme si cela était une seule feuille et je souhaite récupérer la dernière date en colonne A (ainsi que son objet en colonne B) figurant sur la dernière feuille saisie. En cerise sur le gâteau, je peux avoir plusieurs dates identiques (seule la denière est à considérer) Michel
"michdenis" a écrit dans le message de news:
Bonjour Michir,
Pour la valeur "Date" la plus grande de la colonne A de la feuil1 = Max(Feuil1:A:A)
Pour trouver l'information située en colonne B pour la date la plus grande, =INDEX(Feuil1!B:B;EQUIV(MAX(Feuil1!A:A);Feuil1!A:A;0);1)
P.S.. En supposant que ta colonne ne possède pas des nombres entiers long ...!
Salutations!
"Michir" a écrit dans le message de news: 43ae9d4d$0$20159$ Bonjour et Bon Noël à toutes et tous,
J'ai une question un peu tordue mais je voudrais être le plus clair possible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mais disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. la valeur maximum de la dernière feuille saisie (elle correspond à la dernière date d'opération) ainsi que le libellé de l'opération qui se trouve immédiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
Michel Gaboly
Bonsoir Michir,
Voici une solution, moyennant quelques contraintes, qui pourront être a daptées si nécessaire.
1 - Par hypothèse, la feuille "Récap" a eté ajoutée au classeur, et il n'y a pas à construire de liaison externe.
2 - Les 12 feuilles à la même structure sont nommées "janvier" à "décembre"
3 - Il n'y a qu'une opération par date
Je propose la création de 12 noms de niveau feuille, permettant de stoc ker la date maximale de chaque feuille, ce qui peut s'automatiser en VBA :
Pour cela, si le classeur ne contient que les 12 feuilles (la feuille Ré cap) n'a pas encore été créée :
Sub Toto() Dim f As Worksheet, i As Integer For Each f In ThisWorkbook.Sheets i = i + 1 f.Names.Add "DerDate", "=MAX(!C1)" Next End Sub
Si le classeur comporte les 12 feuilles ET la feuille Récap :
Sub Toto() Dim f As Worksheet, i As Integer For Each f In ThisWorkbook.Sheets i = i + 1 If f.Name <> "Récap" Then f.Names.Add "DerDate", "=MAX(!C1)" Next End Sub
Ensuite, après avoir ajouté si nécessaire la feuille Récap au cla sseur, on crée une 13ème occurrence du nom "DerDate", de niveau classeur cette fois, ainsi défini :
A partir de là on est capable de déterminer la date maxi toutes feuil les (janvier à décembre) confondues. Puisque chaque feuille comporte uniquement des dates du mois correspondant, on peut dé duire du mois la feuille concernée : (=TEXTE(DerDate;"mmmm")
On peut associer le nom "Mois" à cette formule
Un EQUIV() permet de trouver la "bonne ligne", et une indirection conduit à la valeur située sur la même ligne en colonne B :
J'ai une question un peu tordue mais je voudrais être le plus clair p ossible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mai s disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. l a valeur maximum de la dernière feuille saisie (elle correspond à la derniè re date d'opération) ainsi que le libellé de l'opération qui se trouve im médiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
-- Cordialement,
Michel Gaboly www.gaboly.com
Bonsoir Michir,
Voici une solution, moyennant quelques contraintes, qui pourront être a daptées si nécessaire.
1 - Par hypothèse, la feuille "Récap" a eté ajoutée au classeur, et il n'y a pas à construire de liaison externe.
2 - Les 12 feuilles à la même structure sont nommées "janvier" à "décembre"
3 - Il n'y a qu'une opération par date
Je propose la création de 12 noms de niveau feuille, permettant de stoc ker la date maximale de chaque feuille, ce qui
peut s'automatiser en VBA :
Pour cela, si le classeur ne contient que les 12 feuilles (la feuille Ré cap) n'a pas encore été créée :
Sub Toto()
Dim f As Worksheet, i As Integer
For Each f In ThisWorkbook.Sheets
i = i + 1
f.Names.Add "DerDate", "=MAX(!C1)"
Next
End Sub
Si le classeur comporte les 12 feuilles ET la feuille Récap :
Sub Toto()
Dim f As Worksheet, i As Integer
For Each f In ThisWorkbook.Sheets
i = i + 1
If f.Name <> "Récap" Then f.Names.Add "DerDate", "=MAX(!C1)"
Next
End Sub
Ensuite, après avoir ajouté si nécessaire la feuille Récap au cla sseur, on crée une 13ème occurrence du nom "DerDate",
de niveau classeur cette fois, ainsi défini :
A partir de là on est capable de déterminer la date maxi toutes feuil les (janvier à décembre) confondues. Puisque chaque
feuille comporte uniquement des dates du mois correspondant, on peut dé duire du mois la feuille concernée :
(=TEXTE(DerDate;"mmmm")
On peut associer le nom "Mois" à cette formule
Un EQUIV() permet de trouver la "bonne ligne", et une indirection conduit à la valeur située sur la même ligne en
colonne B :
J'ai une question un peu tordue mais je voudrais être le plus clair p ossible
dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement
identique (une par mois)
Dans chaque feuille, la colonne A contient des dates d'opérations mai s
disjointes (elles sont groupées en 3 paquets).
Je souhaiterais récupérer dans une cellule d'une feuille Récap. l a valeur
maximum de la dernière feuille saisie (elle correspond à la derniè re date
d'opération) ainsi que le libellé de l'opération qui se trouve im médiatement
à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voici une solution, moyennant quelques contraintes, qui pourront être a daptées si nécessaire.
1 - Par hypothèse, la feuille "Récap" a eté ajoutée au classeur, et il n'y a pas à construire de liaison externe.
2 - Les 12 feuilles à la même structure sont nommées "janvier" à "décembre"
3 - Il n'y a qu'une opération par date
Je propose la création de 12 noms de niveau feuille, permettant de stoc ker la date maximale de chaque feuille, ce qui peut s'automatiser en VBA :
Pour cela, si le classeur ne contient que les 12 feuilles (la feuille Ré cap) n'a pas encore été créée :
Sub Toto() Dim f As Worksheet, i As Integer For Each f In ThisWorkbook.Sheets i = i + 1 f.Names.Add "DerDate", "=MAX(!C1)" Next End Sub
Si le classeur comporte les 12 feuilles ET la feuille Récap :
Sub Toto() Dim f As Worksheet, i As Integer For Each f In ThisWorkbook.Sheets i = i + 1 If f.Name <> "Récap" Then f.Names.Add "DerDate", "=MAX(!C1)" Next End Sub
Ensuite, après avoir ajouté si nécessaire la feuille Récap au cla sseur, on crée une 13ème occurrence du nom "DerDate", de niveau classeur cette fois, ainsi défini :
A partir de là on est capable de déterminer la date maxi toutes feuil les (janvier à décembre) confondues. Puisque chaque feuille comporte uniquement des dates du mois correspondant, on peut dé duire du mois la feuille concernée : (=TEXTE(DerDate;"mmmm")
On peut associer le nom "Mois" à cette formule
Un EQUIV() permet de trouver la "bonne ligne", et une indirection conduit à la valeur située sur la même ligne en colonne B :
J'ai une question un peu tordue mais je voudrais être le plus clair p ossible dans son exposé.
Soit un classeur de 12 feuilles dont l'architecture est strictement identique (une par mois) Dans chaque feuille, la colonne A contient des dates d'opérations mai s disjointes (elles sont groupées en 3 paquets). Je souhaiterais récupérer dans une cellule d'une feuille Récap. l a valeur maximum de la dernière feuille saisie (elle correspond à la derniè re date d'opération) ainsi que le libellé de l'opération qui se trouve im médiatement à sa doite en colonne B
Je pense qu'une formule doit pouvoir le faire, mais je sèche.
Voilà, j'espère avoir été clair.
Merci
Michel
-- Cordialement,
Michel Gaboly www.gaboly.com
JB
Bonjour,
http://cjoint.com/?mAjcftYZlE
Plus grande date:
Sur l'onglet Recap:
-En B2: + grande date: =MAX(janvier:Décembre!A:A) -En B5: Mois de la + grande date: =TEXTE(B2;"mmmm") -En B8: Libellé: =INDEX(INDIRECT(B5&"!b:b");EQUIV(B2;INDIRECT(B5&"!a:a");0))
Cordialement JB
Bonjour,
http://cjoint.com/?mAjcftYZlE
Plus grande date:
Sur l'onglet Recap:
-En B2: + grande date: =MAX(janvier:Décembre!A:A)
-En B5: Mois de la + grande date: =TEXTE(B2;"mmmm")
-En B8: Libellé:
=INDEX(INDIRECT(B5&"!b:b");EQUIV(B2;INDIRECT(B5&"!a:a");0))
-En B2: + grande date: =MAX(janvier:Décembre!A:A) -En B5: Mois de la + grande date: =TEXTE(B2;"mmmm") -En B8: Libellé: =INDEX(INDIRECT(B5&"!b:b");EQUIV(B2;INDIRECT(B5&"!a:a");0))
Cordialement JB
JB
Solution pour obtenir tous les libellés:
http://cjoint.com/?mAkjmXIz0s
-Sélectionner D8:D11 =tous(INDIRECT(B5&"!a2:a1000");INDIRECT(B5&"!b2:b1000");Recap!B2) Valider avec Maj+Ctrl+Entrée
Dans un module:
Function tous(champ1 As Range, champ2 As Range, v) Dim temp(1000, 1) j = 0 For i = 1 To champ1.Count If v = champ1(i) Then temp(j, 0) = champ2(i) j = j + 1 End If Next i tous = temp End Function
Cordialement JB
Solution pour obtenir tous les libellés:
http://cjoint.com/?mAkjmXIz0s
-Sélectionner D8:D11
=tous(INDIRECT(B5&"!a2:a1000");INDIRECT(B5&"!b2:b1000");Recap!B2)
Valider avec Maj+Ctrl+Entrée
Dans un module:
Function tous(champ1 As Range, champ2 As Range, v)
Dim temp(1000, 1)
j = 0
For i = 1 To champ1.Count
If v = champ1(i) Then
temp(j, 0) = champ2(i)
j = j + 1
End If
Next i
tous = temp
End Function
-Sélectionner D8:D11 =tous(INDIRECT(B5&"!a2:a1000");INDIRECT(B5&"!b2:b1000");Recap!B2) Valider avec Maj+Ctrl+Entrée
Dans un module:
Function tous(champ1 As Range, champ2 As Range, v) Dim temp(1000, 1) j = 0 For i = 1 To champ1.Count If v = champ1(i) Then temp(j, 0) = champ2(i) j = j + 1 End If Next i tous = temp End Function