[excel] Aide recherche
Résolu
perrus53
Messages postés
1012
Date d'inscription
Statut
Membre
Dernière intervention
-
perrus53 Messages postés 1012 Date d'inscription Statut Membre Dernière intervention -
perrus53 Messages postés 1012 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Pour poursuivre sur un topic qui a été verouillé, j'ai besoin d'un coup de main pour excel.
Le fichier qui pose probleme est ici: http://www.cijoint.fr/cjlink.php?file=cj200806/cij8j1VDiR.zip
Je souhaite que quand je selectionne une option dans la cellule F5 de la feuille "vehicules", les cellules G5 et H5 se remplissent en fonction des données situés dans les colonnes B,G et H de la feuille "Hommes"; qui biensur oblige a faire une recherche, j'ai esayé mais pas reussi.
Ensuite je souhaite utiliser les données correspondant a la colonne A de la feuille vehicule pour les remettre dans la bonne ligne dans la feuille hommes, colonne I
En esperant avoie été clair...
Pour poursuivre sur un topic qui a été verouillé, j'ai besoin d'un coup de main pour excel.
Le fichier qui pose probleme est ici: http://www.cijoint.fr/cjlink.php?file=cj200806/cij8j1VDiR.zip
Je souhaite que quand je selectionne une option dans la cellule F5 de la feuille "vehicules", les cellules G5 et H5 se remplissent en fonction des données situés dans les colonnes B,G et H de la feuille "Hommes"; qui biensur oblige a faire une recherche, j'ai esayé mais pas reussi.
Ensuite je souhaite utiliser les données correspondant a la colonne A de la feuille vehicule pour les remettre dans la bonne ligne dans la feuille hommes, colonne I
En esperant avoie été clair...
A voir également:
- [excel] Aide recherche
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
13 réponses
Salut.
Ta formule en J11 comporte 3 erreurs :
1) la matrice de recherche est mal choisie ; tu as choisi J1:K9 de l'onglet Vehicules, alors que les données sont stockées dans l'onglet Hommes ; il faut y ajouter le nom "Pompier" pour la zone B4:H53
2) tu fais appel à la colonne 11, alors que pour la cellule G5 (spé.1) il faut appeler la sixième colonne de la matrice "Pompier", et la septième pour la cellule H5 (spé.2)
3) il vaut mieux mettre FAUX au lieu de VRAI, car tu n'es jamais sûr que ta liste de référence en première colonne (colonne B) est bien triée
En G5 la bonne formule est =RECHERCHEV(F5;Pompier;6;0)
En H5 la bonne formule est =RECHERCHEV(F5;Pompier;7;0)
Attention : Si la liste des pompiers est complétée, s'assurer que la matrice "Pompier" englobe tout le monde !
Ta formule en J11 comporte 3 erreurs :
1) la matrice de recherche est mal choisie ; tu as choisi J1:K9 de l'onglet Vehicules, alors que les données sont stockées dans l'onglet Hommes ; il faut y ajouter le nom "Pompier" pour la zone B4:H53
2) tu fais appel à la colonne 11, alors que pour la cellule G5 (spé.1) il faut appeler la sixième colonne de la matrice "Pompier", et la septième pour la cellule H5 (spé.2)
3) il vaut mieux mettre FAUX au lieu de VRAI, car tu n'es jamais sûr que ta liste de référence en première colonne (colonne B) est bien triée
En G5 la bonne formule est =RECHERCHEV(F5;Pompier;6;0)
En H5 la bonne formule est =RECHERCHEV(F5;Pompier;7;0)
Attention : Si la liste des pompiers est complétée, s'assurer que la matrice "Pompier" englobe tout le monde !
"Ensuite je souhaite utiliser les données correspondant a la colonne A de la feuille vehicule pour les remettre dans la bonne ligne dans la feuille hommes, colonne I "
Là, je n'ai pas compris ce que tu cherches à faire ...
Là, je n'ai pas compris ce que tu cherches à faire ...
Bonjour Perrus, merci pour ce cas pratique sur des camions de pompiers !
Bonjour Raymond, comment vont les Antilles ?
il me semble que la seconde question consiste à rapatrier dans Hommes!I4 le véhicule de chaque pompier.
Cette formule devrait faire l'affaire :
I4 =INDEX(Vehicules!A:A;EQUIV(B4;Vehicules!F:F;0))
pour éviter les #N/A :
I4 =SI(ESTNA(EQUIV(B4;Vehicules!F:F;0));"-";INDEX(Vehicules!A:A;EQUIV(B4;Vehicules!F:F;0)))
I.
Bonjour Raymond, comment vont les Antilles ?
il me semble que la seconde question consiste à rapatrier dans Hommes!I4 le véhicule de chaque pompier.
Cette formule devrait faire l'affaire :
I4 =INDEX(Vehicules!A:A;EQUIV(B4;Vehicules!F:F;0))
pour éviter les #N/A :
I4 =SI(ESTNA(EQUIV(B4;Vehicules!F:F;0));"-";INDEX(Vehicules!A:A;EQUIV(B4;Vehicules!F:F;0)))
I.
Deja, merci de votre aide!!
Pour raymond, merci, mais sa met met #NOM? dans la cellule G5, et pareil en H5
Pour Ivan, meme probleme :S (si je place le pompier dans un vehicule, sinon "-")
Pour info, cliquez sur la banniere ou c'est ecrit "Secteur 18", vous n'allez pas etre decu!!
Pour raymond, merci, mais sa met met #NOM? dans la cellule G5, et pareil en H5
Pour Ivan, meme probleme :S (si je place le pompier dans un vehicule, sinon "-")
Pour info, cliquez sur la banniere ou c'est ecrit "Secteur 18", vous n'allez pas etre decu!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Sinon j'ai une macro qui ne fonctionne pas
voici le bout de code qui ne marche pas:
Cette macro est sur la feuille Budget, et cette partie doit agir sur la feuille "hommes"
Sheets("Hommes").Select
Dim lmax As Long, lmax1 As Long
Dim cel As Range
' recherche dernière ligne
lmax = [C65536].End(xlUp).Row
lmax1 = [D65536].End(xlUp).Row
If lmax1 > lmax Then lmax = lmax1
lmax1 = [E65536].End(xlUp).Row
If lmax1 > lmax Then lmax = lmax1
If lmax = 1 Then Exit Sub
' decrémenter cellules
'moral
For Each cel In Range("C4:C" & lmax)
If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.02
Next cel
'santé'
For Each cel In Range("D4:D" & lmax)
If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.03
Next cel
Merci
voici le bout de code qui ne marche pas:
Cette macro est sur la feuille Budget, et cette partie doit agir sur la feuille "hommes"
Sheets("Hommes").Select
Dim lmax As Long, lmax1 As Long
Dim cel As Range
' recherche dernière ligne
lmax = [C65536].End(xlUp).Row
lmax1 = [D65536].End(xlUp).Row
If lmax1 > lmax Then lmax = lmax1
lmax1 = [E65536].End(xlUp).Row
If lmax1 > lmax Then lmax = lmax1
If lmax = 1 Then Exit Sub
' decrémenter cellules
'moral
For Each cel In Range("C4:C" & lmax)
If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.02
Next cel
'santé'
For Each cel In Range("D4:D" & lmax)
If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.03
Next cel
Merci
Attention : Si la liste des pompiers est complétée, s'assurer que la matrice "Pompier" englobe tout le monde !
Faut peut-être lire de temps en temps ce qui est écrit...
Faut peut-être lire de temps en temps ce qui est écrit...
Ok, maintenant j'ai #N/A dans G5 et H5 de la feuilles "vehicules"
Toujours un probleme avec la formule d'ivan
Et pour la macro?
Toujours un probleme avec la formule d'ivan
Et pour la macro?
Bonjour Perrus,
1°) pour les formules en Véhicules!G5 et Véhicules!H5
je te promets que la formule donnée par Raymond est la bonne, mais il faut bien définir la zone Pompier (B4:H53)
Pour ne pas avoir à la modifier quand tu rajoutes des pompiers, définis-la comme Hommes!B:H
Sinon, modifie les formules comme suit :
Véhicules!G5 = RECHERCHEV($F5;Hommes!$B:$H;6;FAUX)
Véhicules!H5 = RECHERCHEV($F5;Hommes!$B:$H;7;FAUX)
2°) pour la formule en Hommes!I4 qui rappelle le véhicule de chaque pompier, reprend celle donnée dans le post 3.
Attention : quand on fait un copier/coller à partir de CCM, parfois, il y a des caractères indésirables qu apparaissent. C'est sans doute ce qui s'est passé.
Vérifie bien la dernière partie de ta formule : à la fin tu as -F:(F) au lieu de F:F
3°) quant à ton bout de code, il marche très bien chez moi : il m'a baissé le moral de tous mes pompiers de 2 points, et leur santé de 3 points.
Peux-tu préciser le problème que tu as avec ce code ?
4°) ton site Secteur 18 a l'air super ! Mais je n'ai pas trouvé comment participer au bal des pompiers ;-)
A suivre...
1°) pour les formules en Véhicules!G5 et Véhicules!H5
je te promets que la formule donnée par Raymond est la bonne, mais il faut bien définir la zone Pompier (B4:H53)
Pour ne pas avoir à la modifier quand tu rajoutes des pompiers, définis-la comme Hommes!B:H
Sinon, modifie les formules comme suit :
Véhicules!G5 = RECHERCHEV($F5;Hommes!$B:$H;6;FAUX)
Véhicules!H5 = RECHERCHEV($F5;Hommes!$B:$H;7;FAUX)
2°) pour la formule en Hommes!I4 qui rappelle le véhicule de chaque pompier, reprend celle donnée dans le post 3.
Attention : quand on fait un copier/coller à partir de CCM, parfois, il y a des caractères indésirables qu apparaissent. C'est sans doute ce qui s'est passé.
Vérifie bien la dernière partie de ta formule : à la fin tu as -F:(F) au lieu de F:F
3°) quant à ton bout de code, il marche très bien chez moi : il m'a baissé le moral de tous mes pompiers de 2 points, et leur santé de 3 points.
Peux-tu préciser le problème que tu as avec ce code ?
4°) ton site Secteur 18 a l'air super ! Mais je n'ai pas trouvé comment participer au bal des pompiers ;-)
A suivre...
Bonjour, perrus53.
Dans mon post 1 je t'indique :
" 1) la matrice de recherche est mal choisie ; tu as choisi J1:K9 de l'onglet Vehicules, alors que les données sont stockées dans l'onglet Hommes ; il faut y ajouter le nom "Pompier" pour la zone B4:H53 "
Or, pour une raison qui m'échappe, c'est à la colonne H:H que tu donnes ce nom !
La matrice est un tableau dans lequel en colonne 1 on a le critère de recherche, et dans les autres colonnes sont stockées les données à récupérer.
Comment veux-tu qu'Excel trouve la colonne 6 d'un tableau qui n'a qu'une colonne, ou retrouve ton critère de recherche "Audrey" dans une colonne H:H qui ne contient que tes formules de RECHERCHEV ?
Dans mon post 1 je t'indique :
" 1) la matrice de recherche est mal choisie ; tu as choisi J1:K9 de l'onglet Vehicules, alors que les données sont stockées dans l'onglet Hommes ; il faut y ajouter le nom "Pompier" pour la zone B4:H53 "
Or, pour une raison qui m'échappe, c'est à la colonne H:H que tu donnes ce nom !
La matrice est un tableau dans lequel en colonne 1 on a le critère de recherche, et dans les autres colonnes sont stockées les données à récupérer.
Comment veux-tu qu'Excel trouve la colonne 6 d'un tableau qui n'a qu'une colonne, ou retrouve ton critère de recherche "Audrey" dans une colonne H:H qui ne contient que tes formules de RECHERCHEV ?
ok merci beaucoup de m'avoir aidé; je n'avais pas compris le systeme de matrice, et je lisai mal; desolé
Pour la recherche sa fonctionne (pour les deux), mais la macro est placée dans la feuille budget (bouton changement de jour), mais elle agit sur cette feuille alors qu'elle devrait agir dans pompiers
Un enorme merci pour votre patience!!
Pour la recherche sa fonctionne (pour les deux), mais la macro est placée dans la feuille budget (bouton changement de jour), mais elle agit sur cette feuille alors qu'elle devrait agir dans pompiers
Un enorme merci pour votre patience!!
Salut Perrus,
pour ta macro qui agit sur Budget au lieu de Hommes, essaie donc avec les modifications suivantes (en faisant systématiquement référence à la feuille Hommes avec With Sheets("Hommes") ... End With) . N'oublie pas le point rajouté avant chaque Range.
pour ta macro qui agit sur Budget au lieu de Hommes, essaie donc avec les modifications suivantes (en faisant systématiquement référence à la feuille Hommes avec With Sheets("Hommes") ... End With) . N'oublie pas le point rajouté avant chaque Range.
Private Sub CommandButton2_Click() 'argent' [c8] = [c9].Value 'date' Range("G12").Formula = "=NOW()" 'moral+santé' With Sheets("Hommes") .Select Dim lmax As Long, lmax1 As Long Dim cel As Range ' recherche dernière ligne lmax = .[C65536].End(xlUp).Row lmax1 = .[D65536].End(xlUp).Row If lmax1 > lmax Then lmax = lmax1 lmax1 = .[E65536].End(xlUp).Row If lmax1 > lmax Then lmax = lmax1 If lmax = 1 Then Exit Sub ' decrémenter cellules 'moral For Each cel In .Range("C4:C" & lmax) If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.02 Next cel 'santé' For Each cel In .Range("D4:D" & lmax) If IsNumeric(cel) And cel > 0 Then cel.Value = cel.Value - 0.03 Next cel End With End Sub