RechercheV - plusieurs réponses possible

Bonjour,

J'espère que vous allez tous bien, suite à cette période particulière que nous avons traversée.

Je me retrouve devant une difficulté que je ne pense pas pouvoir résoudre par formule. Je pense que je devrais passer par du VBA...

Dans le fichier joint je récupère des données dans les différents onglets classés selon les mois (exemple "Jan_Fev_21") en fonction de la date (valeur unique). En fonction de la date, les valeurs sont récupérées dans l'onglet correspondant .

Exemple: dans l'onglet planif_21, il m'indique dans la colonne "Nom de la manifestation_1" le nom de la manifestation, les besoins en conducteur dans la colonne suivante et en véhicule dans la colonne d'après.

Jusque-là, tout fonctionne (par formule)... Par contre si pour la date, (valeur unique) il y a plus d'une manifestation j'aurai besoin que la deuxième ligne (deuxième manifestation à la même date) soit indiquée dans la colonne "Nom de la manifestation_2"; la troisième soit indiquée dans la colonne "Nom de la manifestation_2" et ce jusqu'à 4 manifestations.

Exemple: pour le premier janvier dans l'onglet "Jan_Fev_21", il y a deux événements "Prévision Réservé" et "Prévision match foot ". Le premier devrait aller dans la date 01.01.2021 "Nom de la manifestation_1 et le deuxième sous "Nom de la manifestation_2"

J'espère avoir été assez clair, mais je compléterai si besoin. Je me réjouis de vos commentaires et suggestion et vous remercie pour votre aide qui est exceptionnelle, je tiens à la souligner.

Je vous adresse mes plus cordiales salutations.

Fabrice

Hello,

en G63 :

=SIERREUR(INDEX(Mars_Avril_21!$C$5:$C$196;EQUIV(Planif_21!$B63;Mars_Avril_21!$B$5:$B$196;0)+DROITE(G$2;1)-1;1);"")

en L63:

=SIERREUR(SI(NB.SI(Mars_Avril_21!$B$5:$B$196;Planif_21!$B63)>=CNUM(DROITE(L$2;1));INDEX(Mars_Avril_21!$C$5:$C$196;EQUIV(Planif_21!$B63;Mars_Avril_21!$B$5:$B$196;0)+DROITE(L$2;1)-1;1);"");"")

tu peux faire un copier coller en Q63 et V63.

Si tu écris différemment tes noms d'onglets, on peut automatiser ça aussi, pour que tu n'aies plus à changer ça tous les deux mois ...

Bonjour JoyeuxNoel,

Un ENORME merci pour ces formules, je vais les décortiquer pour mieux les comprendre... en Q63 et V63, je vois que je devrai adapter la formule

Si tu écris différemment tes noms d'onglets, on peut automatiser ça aussi, pour que tu n'aies plus à changer ça tous les deux mois ... que veux-tu dire? Cela m’intéresse également ?

Encore merci pour ton aide précieuse et très belle journée.

Fabrice

Hello,

Justement normalement non. Avec un copier coller, tout ce qui doit s'adapter s'adaptera. Sauf foirade de mon côté, mais il ne me semble pas.

Hello,

Merci pour ton retour

En Q63, j'ai la même valeur qu'en L63

Re,

Je t'ai automatisé la formule avec une redirection vers le bon onglet.

Vois la formule rajoutée en colonne A :

=SIERREUR(CHOISIR(MOIS(B63);"Jan_Fev_21";"Jan_Fev_21";"Mars_Avril_21";"Mars_Avril_21";"Mai_Juin_21";"Mai_Juin_21";"Juil_Août_21";"Juil_Août_21";"Sept_Oct_21";"Sept_Oct_21";"Nov_Dec_21";"Nov_Dec_21");"")

et la nouvelle formule en L :

=SIERREUR(SI(NB.SI(INDIRECT($A63&"!$B$5:$B$196";VRAI);$B63)>=CNUM(DROITE(L$2;1));INDEX(INDIRECT($A63&"!$C$5:$C$196";VRAI);EQUIV($B63;INDIRECT($A63&"!$B$5:$B$196";VRAI);0)+DROITE(L$2;1)-1;1);"");"")

Je te laisse vérifier. Chez moi je n'ai pas le même résultat dans les différentes colonnes.

capture

As-tu les mêmes résultats ?

Re-bonjour JoyeuxNoel

Je comprends mieux ton pseudo maintenant, avec toi c’est tous les jours noël…

Je te remercie infiniment pour le temps que tu m’as accordés et les compétences que tu as déployées pour me rendre service, avec générosité et gentillesse. MERCI

Je joins le tableau final en pièces jointes pour qu’il puisse être utile à d’autres personnes.

Si tu es de passage à Genève, n’hésite pas à m’envoyer un message pour que je puisse t’offrir un café ou une mousse, cela me fera plaisir.

Belle journée.

Fabrice

Hey, merci pour le retour, ça fait plaisir !

Je vois que tu t'es bien approprié les formules ! Super ça. J'attendais que tu me demandes des explications avant de me lancer dedans, parce qu'il y avait de quoi faire. Mais nickel.

Tu veux aussi les stats de conducteurs et véhicules mensuels ? Le tableau récap est désespérément vide à droite

Avec plaisir pour une mousse. Au pire, viens ne France, ça sera plus abordable (je ne suis pas loin en plus)

Merci beaucoup pour ta proposition pour les stats, pour le moment je travaille sur les formules besoins VHC (colonne E) et CDT(colonne F) car la formule "=SIERREUR(SI(I3+N3>0; I3+N3+S3+X3;"");"")" plante, elle renvoie à vide car elle n'arrive pas à additionner les valeurs...

Si je modifie la formule comme cela

=SIERREUR(SI(NB.SI(INDIRECT($A3&"!$B$5:$B$196";VRAI);Planif!$B3)>=CNUM(DROITE(Q$2;1));INDEX(INDIRECT($A3&"!$X$5:$X$196";VRAI);EQUIV(Planif!$B3;INDIRECT($A3&"!$B$5:$B$196";VRAI);0)+DROITE(Q$2;1)-1;1);0);"")

Au lieu de vide il m'indique 0, mais je trouve moins bien. Je souhaite indiquer les cellules en vide si pas de données.

Sinon en Fr 74 ou Fr 01?

Oui, comme tu lui mets du vide, il n'aime pas faire un nombre + du vide.

Tu peux donc mettre 0 au lieu de vide, comme tu le suggérais. Puis, tu mets une mise en forme conditionnelle qui écrit les 0 en blanc par exemple. Mais c'est se faire du mal pour rien.

=SI(SOMME(I3;N3;S3;X3)>0;SOMME(I3;N3;S3;X3);"")

En passant par la fonction SOMME, excel n'est pas embêté par les cellules vides

Non, un peu plus loin que ça quand même, FR21

Edit : suppression du sierreur dans la formule, qui n'est plus nécessaire.

Effectivement... j'aurai pu y penser...

Il est possible que je vienne sur Besançon cet été ou à l'automne, je ne sais pas si tu es à proximité

Bon... je galère avec les stats mensuelles...

J'ai essayé avec somme si et somme si ens, mais pour le moment cela coince...

Je me penche sur les stats mensuelles ...

Vous embauchez ?

capture

Effectivement...

Je pense que je dois utiliser comme condition dans somme si MOIS(cellule)=1, car comme je pars d'une date entière il ne reconnaîtra pas le jour...

Vous embauchez ? tu es en recherche d'emploi?

Le truc c'est que j'ai changé pas mal de choses, pour que ce soit réalisable facilement. (en y repensant, ça va même être galère à tout citer)

Le fait que plein de cellules soient vides court-circuitait quasi toutes les fonctions matricielles que j'ai essayées, ainsi que sommeprod.

J'ai changé l'affichage du mois dans ton tableau récapitulatif, pour avoir de vraies dates.

J'ai changé aussi la façon dont on passe de fin février à début mars. D'une manière générale, je n'aurais pas fait comme toi dès le mois de janvier, mais peu importe.

Et du coup, j'ai changé la formule des colonnes E et F pour qu'elles affichent 0 et non pas vide, pour pouvoir faire le total comme on veut. Avec MFC qui affiche les 0 en blanc pour ces 2 colonnes seulement.

En tout cas, c'est cool que tu aies dégagé les 21 sur tes noms d'onglets, ton fichier sera plus évolutif !

Fais pas attention, c'est le bordel, j'ai pas rangé

Sinon, je suis à mon compte, je ne recherche pas spécialement. Mais aux salaires suisses, tout s'envisage

edit : j'ai rectifié D et E en E et F

Bonjour Noël (Joyeux)

Après une nuit de sommeil les idées sont plus claires Pour finir je suis allé au plus simple en modifiant la formule date qui posait problème, après le reste coulait de source. Je joins le doc.

Encore merci pour le temps (et les compétences) que tu m'as consacré. J'ai beaucoup apprécié ces échanges. Donc comme indiqué la mousse tient toujours

Sinon, je suis à mon compte, je ne recherche pas spécialement. ........., tout s'envisage et pour cela tu peux me contacter via Link si tu as besoin de conseil ou plus

Bien à toi.

Fabrice

Bonjour Fabrice !

Bon, eh bien il est pas mal ce fichier !

Tu as dû étendre la formule en colonne E, et ça a étendu le format conducteur à la colonne Véhicules. Je crois que quand il ne reste plus que ça à changer, c'est que les choses se passent plutôt pas mal !

Tu as raison, j'avais complexifié inutilement certaines choses hier. J'étais resté fixé sur une fonction qui ne marchait pas comme je voulais et je n'ai pas pris assez de recul

En tout cas, c'est chouette. Ton fichier est déjà tout opérationnel pour l'année prochaine. Un coup d'enregistrer sous, on efface les données mensuelles et hop, c'est parti. Le récap est déjà prêt.

Je garde tes propositions à l'esprit

Bonne journée,

Noël

Bonjour Noël,

Je m'excuse, je viens te demander une solution pour une macro... Je voulais modifier la macro ci-dessous (toujours le même fichier) pour l'activer quand j'appuie sur un bouton (image à laquelle j'ai affecté la macro) et non avec un double click.

Une message box doit s'ouvrir pour demander le nombre de lignes à insérer. Ensuite les lignes indiquée sont copiées

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

Dim monNb

monNb = InputBox(Prompt:="Saisir le Nombre de Lignes à insérer", Title:="Saisie", Default:="1")

If StrPtr(monNb) = 0 Then Cancel = True: Exit Sub

Rows(Target.Row + 1 & ":" & Target.Row + monNb).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("A" & Target.Row).Copy Destination:=Range("A" & Target.Row + 1 & ":" & "A" & Target.Row + monNb)

Range("B" & Target.Row).Copy Destination:=Range("B" & Target.RUw + 1 & ":" & "B" & Target.Row + monNb)

Range("D" & Target.Row).Copy Destination:=Range("D" & Target.Row + 1 & ":" & "D" & Target.Row + monNb)

Range("E" & Target.Row).Copy Destination:=Range("E" & Target.Row + 1 & ":" & "E" & Target.Row + monNb)

Range("F" & Target.Row).Copy Destination:=Range("F" & Target.Row + 1 & ":" & "F" & Target.Row + monNb)

Range("G" & Target.Row).Copy Destination:=Range("G" & Target.Row + 1 & ":" & "G" & Target.Row + monNb)

Range("H" & Target.Row).Copy Destination:=Range("H" & Target.Row + 1 & ":" & "H" & Target.Row + monNb)

Range("I" & Target.Row).Copy Destination:=Range("I" & Target.Row + 1 & ":" & "I" & Target.Row + monNb)

Range("K" & Target.Row).Copy Destination:=Range("K" & Target.Row + 1 & ":" & "K" & Target.Row + monNb)

Cancel = True

End Sub

Je te remercie par avance et te souhaite une belle journée

Fabrice

Hello,

Je n'ai pas accès à un PC cet après-midi. Je verrai en début de soirée si je peux y jeter un oeil.

Cela dit, ton code récupère la ligne sur laquelle tu as double-cliqué et insère le nombre de lignes spécifiées.

Si tu passes par un bouton, il va falloir spécifier la ligne à partir de laquelle insérer, ET le nombre de lignes à insérer.

Quelle forme voudrais-tu que prenne cette demande ?

Pourquoi passer par un bouton ?

Rechercher des sujets similaires à "recherchev reponses possible"