Fonction si sur trois feuilles
Résolu/Fermé
benji71
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
-
29 juil. 2010 à 13:42
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 31 juil. 2010 à 21:22
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 31 juil. 2010 à 21:22
A voir également:
- Fonction si sur trois feuilles
- Fonction si et - Guide
- Comment faire un livret avec des feuilles a4 - Guide
- Fusionner feuilles excel - Guide
- Fonction moyenne excel - Guide
- Voici trois pannes que l’on peut rencontrer au démarrage d’un ordinateur : - Guide
11 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
30 juil. 2010 à 09:42
30 juil. 2010 à 09:42
bonjour benji71, Mike-31,
Une macro événementielle à placer dans "ThisWorkbook" :
Lorsque tu te positionnes sur un de tes onglet de ventilation il est automatiquement mis à jour.
je me demandais si je pourrais pas partir des focntions index/equiv pour chercher à produire ce que je cherche à faire
Cela ne va pas être très simple à faire une telle formule pour ramener toute la ligne car avec une formule il faut :
- que la formule soit écrite dans chaque cellule à documenter.
- que toutes les lignes nécessaires soient pourvues de la formule.
- avec du texte copier il existe peu de formules qui permettent de sélectionner.
Une macro événementielle à placer dans "ThisWorkbook" :
Private Sub Workbook_SheetActivate(ByVal Sh As Object) If Sh.Name = "registre" Then Exit Sub Const col = 3 ' "C" Dim lig As Long Dim lgc As Long lgc = 2 ' suppression existant Sh.Rows(lgc).Resize(Sh.UsedRange.Rows.Count).Delete With Sheets("registre") ' boucle sur onglet global For lig = 2 To .UsedRange.Rows.Count If LCase(.Cells(lig, col).Value) = LCase(Sh.Name) Then .Rows(lig).Copy Destination:=Sh.Rows(lgc) lgc = lgc + 1 ' ligne de copie suivante End If Next lig End With End Sub
Lorsque tu te positionnes sur un de tes onglet de ventilation il est automatiquement mis à jour.
je me demandais si je pourrais pas partir des focntions index/equiv pour chercher à produire ce que je cherche à faire
Cela ne va pas être très simple à faire une telle formule pour ramener toute la ligne car avec une formule il faut :
- que la formule soit écrite dans chaque cellule à documenter.
- que toutes les lignes nécessaires soient pourvues de la formule.
- avec du texte copier il existe peu de formules qui permettent de sélectionner.
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
Modifié par Mike-31 le 30/07/2010 à 12:30
Modifié par Mike-31 le 30/07/2010 à 12:30
Re tous,
Pour suivre l'idée de Pijaku, avec des formules matricielles et plages nommées afin d'éviter les lignes vides
https://www.cjoint.com/?hEmBEsQ368
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Pour suivre l'idée de Pijaku, avec des formules matricielles et plages nommées afin d'éviter les lignes vides
https://www.cjoint.com/?hEmBEsQ368
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
30 juil. 2010 à 12:49
30 juil. 2010 à 12:49
Clap clap clap. Très bon ça. Bravo Mister Mike.
Je le garde celui là.
Bonne journée
Je le garde celui là.
Bonne journée
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
29 juil. 2010 à 13:58
29 juil. 2010 à 13:58
Salut,
Ce n'est pas très compliqué avec un code VBA, mais une fois les infos copiées sur les feuilles respectives que faut il faire sur la feuille registre (supprimer la ligne la ligne ou remplacer le code ex. saec par transféré afin que la ligne ne se copie pas plusieurs fois
Ce n'est pas très compliqué avec un code VBA, mais une fois les infos copiées sur les feuilles respectives que faut il faire sur la feuille registre (supprimer la ligne la ligne ou remplacer le code ex. saec par transféré afin que la ligne ne se copie pas plusieurs fois
benji71
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
23
29 juil. 2010 à 14:39
29 juil. 2010 à 14:39
Bonjour mike31,
merci pour ta réponse.
"Ce n'est pas très compliqué avec un code VBA"..mouais...mais encore..lol...
"une fois les infos copiées sur les feuilles respectives que faut il faire sur la feuille registre "...les infos sur la feuille de registre doivent y rester. elles doivent "juste" être copiée sur les feuilles respectives les unes derrières les autres.
par la suite, je devrai trouver un truc pour faire en sorte que seule les lignes avec une date d'entrée s'incrivent.
le but final est d'avoir un fichier réparti en trois feuilles [registre, saec; mcae).
la première est celle qui centralise tout et les deux autres remplissent sur base des infos de la feuille de registre. A terme, il ne devrait se retouver sur les feuilles saec et maec, les enfants qui ont une date d'entrée (colonne D.IN) et une date de sortie (D.Out, colonne qui n'est pas encore créér).
mais tt cela doit se faire progressivement, donc je commence par essayer de trouve un truc pour avoir sur mes feuilles les enfants qui ont un saec et un mcae dans la colonne.
j'espere avoir été au plus clair..sinon...3615 code je recommence :-)
bien à toi.
berni.
merci pour ta réponse.
"Ce n'est pas très compliqué avec un code VBA"..mouais...mais encore..lol...
"une fois les infos copiées sur les feuilles respectives que faut il faire sur la feuille registre "...les infos sur la feuille de registre doivent y rester. elles doivent "juste" être copiée sur les feuilles respectives les unes derrières les autres.
par la suite, je devrai trouver un truc pour faire en sorte que seule les lignes avec une date d'entrée s'incrivent.
le but final est d'avoir un fichier réparti en trois feuilles [registre, saec; mcae).
la première est celle qui centralise tout et les deux autres remplissent sur base des infos de la feuille de registre. A terme, il ne devrait se retouver sur les feuilles saec et maec, les enfants qui ont une date d'entrée (colonne D.IN) et une date de sortie (D.Out, colonne qui n'est pas encore créér).
mais tt cela doit se faire progressivement, donc je commence par essayer de trouve un truc pour avoir sur mes feuilles les enfants qui ont un saec et un mcae dans la colonne.
j'espere avoir été au plus clair..sinon...3615 code je recommence :-)
bien à toi.
berni.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mike-31
Messages postés
18346
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
13 novembre 2024
5 104
29 juil. 2010 à 17:29
29 juil. 2010 à 17:29
Re,
Récupère ton fichier, on pourrait partir sur ce genre de code, à affiner
https://www.cjoint.com/?hDrCQENn7P
Récupère ton fichier, on pourrait partir sur ce genre de code, à affiner
https://www.cjoint.com/?hDrCQENn7P
benji71
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
23
30 juil. 2010 à 07:44
30 juil. 2010 à 07:44
Bonjour mike-31, bonjour à tous,
merci à toi mike-31 pour ta réponse. j'apprécie l'idée d'utiliser les code vba mais je me sens parfois un peu, bcp dépendant des autres car ne maitrissant que fort peu les codes, je me sens parfois déborder. j'essai de comprendre mais j'avoue, n'ayant pas l'esprit informaticien, qu'il me faut parfois bcp de temps pour comprendre et saisir notemment les codes.
donc, je vais regarder et chercher à comprendre les codes repris sous le fichier que tu m'envois.
parrallèlement à cela, je me demandais si je pourrais pas partir des focntions index/equiv pour chercher à produire ce que je cherche à faire.
j'imagine qu'il doit pouvoir avoir moyen de trouver une formule excel qui permettre la copie de certaines lignes d'une feuille sur une autre et ce en tenant compte de critères.
merci de me donner ton avis.
bien à toi.
berni.
merci à toi mike-31 pour ta réponse. j'apprécie l'idée d'utiliser les code vba mais je me sens parfois un peu, bcp dépendant des autres car ne maitrissant que fort peu les codes, je me sens parfois déborder. j'essai de comprendre mais j'avoue, n'ayant pas l'esprit informaticien, qu'il me faut parfois bcp de temps pour comprendre et saisir notemment les codes.
donc, je vais regarder et chercher à comprendre les codes repris sous le fichier que tu m'envois.
parrallèlement à cela, je me demandais si je pourrais pas partir des focntions index/equiv pour chercher à produire ce que je cherche à faire.
j'imagine qu'il doit pouvoir avoir moyen de trouver une formule excel qui permettre la copie de certaines lignes d'une feuille sur une autre et ce en tenant compte de critères.
merci de me donner ton avis.
bien à toi.
berni.
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
30 juil. 2010 à 10:58
30 juil. 2010 à 10:58
Salut,
Mike, gb, mes hommages,
Une solution beaucoup moins élégante, mais qui respecte toutefois les désirs de Benji et de passer par une formule SI toute bête, associée à un filtre automatique.
Formule :
=SI(registre!$C2="saec";registre!A2;"") <sur la feuille saec>
=SI(registre!$C3="mcae";registre!A3;"") <sur la feuille mcae>
Ensuite régler le filtre automatique soit sur "tout", soit sur "non vides".
voir test ici. Les zones colorées sont à étirer sur tout le tableau
Mike, gb, mes hommages,
Une solution beaucoup moins élégante, mais qui respecte toutefois les désirs de Benji et de passer par une formule SI toute bête, associée à un filtre automatique.
Formule :
=SI(registre!$C2="saec";registre!A2;"") <sur la feuille saec>
=SI(registre!$C3="mcae";registre!A3;"") <sur la feuille mcae>
Ensuite régler le filtre automatique soit sur "tout", soit sur "non vides".
voir test ici. Les zones colorées sont à étirer sur tout le tableau
benji71
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
23
30 juil. 2010 à 19:32
30 juil. 2010 à 19:32
Messieurs (mike_31, pijaku, gbinforme) bonjour ainsi qu'a tout les autres,
Merci à vous de vous donner la peine de m'aider. Je rentre à l'instant du bureau et je découvre ce que vous me laisser...j'ai de quoi faire ce samedi...
Comme vous le savez je suis novice et pas très doué en info..j'aime ça...c'est déjà ça...
Pour ce qui est des codes vba..cela m'intrigue et m'intéresse bcp mais plus j'avance plus je me demande si c'est fait pour moi... :-) ...j'avoue ne pas tout comprendre et cela m'énerve... :-)
Mais je ne lâche pas le morceau et c'est grâce ou à cause de vous (mike_31, pijaku, gbinforme, dodo..)
Je vais donc prendre qq heures pour voir ce que vous m'avez concocté...et je vous dit quoi demain...
Encore un grand merci pour votre aide tellement précieuse...et si un jour je deviens un grand programmateur, je sais à qui je le dois... :-)
bonne soirée et bon début de week..
berni...
Merci à vous de vous donner la peine de m'aider. Je rentre à l'instant du bureau et je découvre ce que vous me laisser...j'ai de quoi faire ce samedi...
Comme vous le savez je suis novice et pas très doué en info..j'aime ça...c'est déjà ça...
Pour ce qui est des codes vba..cela m'intrigue et m'intéresse bcp mais plus j'avance plus je me demande si c'est fait pour moi... :-) ...j'avoue ne pas tout comprendre et cela m'énerve... :-)
Mais je ne lâche pas le morceau et c'est grâce ou à cause de vous (mike_31, pijaku, gbinforme, dodo..)
Je vais donc prendre qq heures pour voir ce que vous m'avez concocté...et je vous dit quoi demain...
Encore un grand merci pour votre aide tellement précieuse...et si un jour je deviens un grand programmateur, je sais à qui je le dois... :-)
bonne soirée et bon début de week..
berni...
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
Modifié par gbinforme le 31/07/2010 à 09:19
Modifié par gbinforme le 31/07/2010 à 09:19
bonjour à tous,
Voici encore un sujet qui prouve qu'il y a toujours beaucoup de façons de résoudre un problème selon ses connaissances, ses affinités, ses utilisateurs ou autres.
- tu as deux solutions en VBA (événementielle ou bouton)
Cela suppose que les postes acceptent les macros et la maintenance demande une certaine maitrise du sujet.
- tu as la formule matricielle très efficace de Mike
Il faut préparer le fichier avec la définition des plages qui ne sont évolutives qu'avec l'insertion de lignes et la mise en place d'autant de formules matricielles que nécessaire.
- tu as la formule de pijaku qui demande la création des formules sur les feuilles de ventilation et le paramètrage du filtre.
Cette formule peut aussi être orientée vers le filtre élaboré avec copie sur une autre feuille.
- tu crées une plage de 2 cellules de critères :
- tu sélectionnes la feuille à ventiler et menu données / filtrer / filtre élaboré
- tu sélectionnes ta feuille registre pour plage
- tu coches "copier vers un autre emplacement" et tu sélectionnes ta cellule A1 de la feuille concernée.
- tu sélectionnes ta plage de critères.
- en validant tu as ta sélection.
Ainsi tu n'as rien à changer à ton classeur, mis à part les 2 cellules de critères, et en quelques clics tu as ton résultat.
benji71, c'est à toi de choisir ta solution.
PS :
As-tu pensé tout simplement à utiliser un filtre auto sur ta feuille "registre" ?
Toujours zen
Voici encore un sujet qui prouve qu'il y a toujours beaucoup de façons de résoudre un problème selon ses connaissances, ses affinités, ses utilisateurs ou autres.
- tu as deux solutions en VBA (événementielle ou bouton)
Cela suppose que les postes acceptent les macros et la maintenance demande une certaine maitrise du sujet.
- tu as la formule matricielle très efficace de Mike
Il faut préparer le fichier avec la définition des plages qui ne sont évolutives qu'avec l'insertion de lignes et la mise en place d'autant de formules matricielles que nécessaire.
- tu as la formule de pijaku qui demande la création des formules sur les feuilles de ventilation et le paramètrage du filtre.
Cette formule peut aussi être orientée vers le filtre élaboré avec copie sur une autre feuille.
- tu crées une plage de 2 cellules de critères :
mil. Acc. saec(il suffit ensuite de changer le code en fonction du résultat à obtenir)
- tu sélectionnes la feuille à ventiler et menu données / filtrer / filtre élaboré
- tu sélectionnes ta feuille registre pour plage
- tu coches "copier vers un autre emplacement" et tu sélectionnes ta cellule A1 de la feuille concernée.
- tu sélectionnes ta plage de critères.
- en validant tu as ta sélection.
Ainsi tu n'as rien à changer à ton classeur, mis à part les 2 cellules de critères, et en quelques clics tu as ton résultat.
benji71, c'est à toi de choisir ta solution.
PS :
As-tu pensé tout simplement à utiliser un filtre auto sur ta feuille "registre" ?
Toujours zen
benji71
Messages postés
738
Date d'inscription
samedi 22 mars 2008
Statut
Membre
Dernière intervention
4 janvier 2015
23
31 juil. 2010 à 19:52
31 juil. 2010 à 19:52
Bonjour gbinforme, mike-31, pijaku et à tout les autres,
Gbinforme, merci de ta réponse et de la synthèse des propositions.
J'ai regardé ce que pijaku propose et je trouve cela assez bon (si je peux me permettre).
J'ai pas encore tout analyser mais cela ressemble à ce que je cherchais.
Dans le futur je vais essayer de mieux maîtriser vba mais pour un « amateur » comme moi cela prend bcp de temps.
Cela étant la proposition de pijakuressemble à ce que je voulais faire donc je vais chercher à comprendre les formules et je vous dis quoi après.
Pour rappel, mon idée est d'avoir une « feuille de donnée » qui me sert de feuille de départ et dans laquelle je complète des informations. Cette feuille comprend une quarantaine de colonnes et je suis actuellement 300 lignes.
Si j'étais très doué, je ferais un userform (ce que je chercher et ai commencé à faire....mais cela prends du temps) qui me permettrai d'avoir des facilités d'encodages.
Cette première feuille est en fait le point de départ de tout. De là, je pourrais renvoyer sur d'autre feuille en fonction du milieu d'accueil de l'enfant. C'est ce que j'ai commencé à faire grâce à vous.
Autre exemple d'application à venir, sur une feuille appelé « santé » je voudrais à partir des infos de la feuille de « base de données » et en fonction des milieux d'accueils pouvoir imprimer une feuille sur laquelle j'aurais toutes les infos pour les auxiliaires de puéricultrices.
Donc, je vais essayer de voir si possibilité d'avoir des recoupements à partir de la feuille « base de donnée »
Ma question est donc le suivant, excel est-il un outil assez « puissant » pour ce genre de chose ?
Vous remerciant encore pour votre aide, j'espère encore pouvoir compter sur vos remarques et proposition d'aménagement de mes feuilles et données.
Bonne soirée à toi, à vous.
Amicalement vôtre
Berni.
Gbinforme, merci de ta réponse et de la synthèse des propositions.
J'ai regardé ce que pijaku propose et je trouve cela assez bon (si je peux me permettre).
J'ai pas encore tout analyser mais cela ressemble à ce que je cherchais.
Dans le futur je vais essayer de mieux maîtriser vba mais pour un « amateur » comme moi cela prend bcp de temps.
Cela étant la proposition de pijakuressemble à ce que je voulais faire donc je vais chercher à comprendre les formules et je vous dis quoi après.
Pour rappel, mon idée est d'avoir une « feuille de donnée » qui me sert de feuille de départ et dans laquelle je complète des informations. Cette feuille comprend une quarantaine de colonnes et je suis actuellement 300 lignes.
Si j'étais très doué, je ferais un userform (ce que je chercher et ai commencé à faire....mais cela prends du temps) qui me permettrai d'avoir des facilités d'encodages.
Cette première feuille est en fait le point de départ de tout. De là, je pourrais renvoyer sur d'autre feuille en fonction du milieu d'accueil de l'enfant. C'est ce que j'ai commencé à faire grâce à vous.
Autre exemple d'application à venir, sur une feuille appelé « santé » je voudrais à partir des infos de la feuille de « base de données » et en fonction des milieux d'accueils pouvoir imprimer une feuille sur laquelle j'aurais toutes les infos pour les auxiliaires de puéricultrices.
Donc, je vais essayer de voir si possibilité d'avoir des recoupements à partir de la feuille « base de donnée »
Ma question est donc le suivant, excel est-il un outil assez « puissant » pour ce genre de chose ?
Vous remerciant encore pour votre aide, j'espère encore pouvoir compter sur vos remarques et proposition d'aménagement de mes feuilles et données.
Bonne soirée à toi, à vous.
Amicalement vôtre
Berni.
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 708
31 juil. 2010 à 21:22
31 juil. 2010 à 21:22
bonjour
excel est-il un outil assez « puissant » pour ce genre de chose ?
Ce que tu as vu d'excel, d'après tes dires doit représenter 5 % des possibilités.
Disons qu'avec un peu plus d'expérience, j'en utilise 15/20 % mais tu vois la marge qu'il te reste surtout si tu rentres un peu plus avant dans le VBA.
As-tu testé le filtre élaboré ?
Suite à l'idée de pijaku, il me semble que cela devrait être très utile pour ce que tu cherches et c'est plus simple à réaliser lorsque tu auras intégré le principe.
excel est-il un outil assez « puissant » pour ce genre de chose ?
Ce que tu as vu d'excel, d'après tes dires doit représenter 5 % des possibilités.
Disons qu'avec un peu plus d'expérience, j'en utilise 15/20 % mais tu vois la marge qu'il te reste surtout si tu rentres un peu plus avant dans le VBA.
As-tu testé le filtre élaboré ?
Suite à l'idée de pijaku, il me semble que cela devrait être très utile pour ce que tu cherches et c'est plus simple à réaliser lorsque tu auras intégré le principe.
30 juil. 2010 à 10:53
excellent code
Cordialement
Mike-31