Résultat dans colonne et pas ligne
Pierre
-
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Frenchie83 Messages postés 2240 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
merci pour ce travaille super et j'aimerais savoir dans la fonction recherchVpolyvalente trouver sur ce site que faut il changer pour que les résulats soit horizontal ?je ne trouve pas dans la macro les changements a effectuer?
EDIT: Ajout de la coloration syntaxique.
Merci de votre aide
Pierre
merci pour ce travaille super et j'aimerais savoir dans la fonction recherchVpolyvalente trouver sur ce site que faut il changer pour que les résulats soit horizontal ?je ne trouve pas dans la macro les changements a effectuer?
Option Explicit 'RD =cellule où commencer la recherche 'RC = cellule critère 'RDT = cellule où chercher la donnée 'Ligne rechercher jusque ligne... (optional) si 0 cherche jusqu'au bout de la ligne Public Function RechercheVmulti(RD As Range, RC As Range, RDT As Range, _ Optional Ligne As Long = 0) Dim i As Integer, e As Integer, Txt As String Dim LigE As Long, ColE As Long 'où écrire résultats Dim Col As Integer Dim Lig As Long, Occ As Long Dim FeuilE As String, FeuilRD As String, FeuilRDT As String On Error GoTo sortie LigE = Application.Caller.Row ColE = Application.Caller.Column FeuilE = Application.Caller.Parent.Name Application.Volatile Lig = RD.Row ' Ligne où commencer la recherche Col = RD.Column 'Colonne où commencer la recherche FeuilRD = RD.Parent.Name FeuilRDT = RDT.Parent.Name If Ligne = 0 Then Ligne = Range(Sheets(FeuilRD).Cells(65536, Col), Sheets(FeuilRD).Cells(65536, Col)).End(xlUp).Row End If 'Recherche le numéro de l'occurrence à trouver For Occ = LigE - 1 To 1 Step -1 Txt = Sheets(FeuilE).Cells(Occ, ColE).Formula If Txt = Sheets(FeuilE).Cells(LigE, ColE).Formula Then e = e + 1 End If Next Occ For i = Lig To Ligne If Sheets(FeuilRD).Cells(i, Col) = RC Then If e <> 0 Then e = e - 1 Else RechercheVmulti = Sheets(FeuilRDT).Cells(i, RDT.Column) Exit Function End If End If Next i 'Si plus trouvé de concordance RechercheVmulti = "" Exit Function sortie: 'si erreur dans la formule, non détectée par Excel. RechercheVmulti = "#FAUTE!" End Function
EDIT: Ajout de la coloration syntaxique.
Merci de votre aide
Pierre
A voir également:
- Résultat dans colonne et pas ligne
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Partager photos en ligne - Guide
- Resultat foot - Télécharger - Vie quotidienne
- Colonne word - Guide
5 réponses
Bonjour
Difficile de vous aider sans voir la construction de votre fichier.
Cependant je vous propose ceci sans garantie du fonctionnement
A tester
Cdlt
Difficile de vous aider sans voir la construction de votre fichier.
Cependant je vous propose ceci sans garantie du fonctionnement
A tester
'RD =cellule où commencer la recherche 'RC = cellule critère 'RDT = cellule où chercher la donnée 'Colonne rechercher jusque Colonne... (optional) si 0 cherche jusqu'au bout de la Colonne Public Function RechercheHmulti(RD As Range, RC As Range, RDT As Range, Optional Colonne As Long = 0) Dim i As Integer, e As Integer, Txt As String Dim LigE As Long, ColE As Long 'où écrire résultats Dim Col As Integer Dim Lig As Long, Occ As Long Dim FeuilE As String, FeuilRD As String, FeuilRDT As String On Error GoTo sortie LigE = Application.Caller.Row ColE = Application.Caller.Column FeuilE = Application.Caller.Parent.Name Application.Volatile Lig = RD.Row ' Colonne où commencer la recherche Col = RD.Column 'Colonne où commencer la recherche FeuilRD = RD.Parent.Name FeuilRDT = RDT.Parent.Name If Colonne = 0 Then Colonne = Range(Sheets(FeuilRD).Cells(Lig, 1000), Sheets(FeuilRD).Cells(Lig, 1000)).End(xlToLeft).Column End If 'Recherche le numéro de l'occurrence à trouver For Occ = ColE - 1 To 1 Step -1 Txt = Sheets(FeuilE).Cells(LigE, Occ).Formula If Txt = Sheets(FeuilE).Cells(LigE, ColE).Formula Then e = e + 1 End If Next Occ For i = Col To Colonne If Sheets(FeuilRD).Cells(Lig, i) = RC Then If e <> 0 Then e = e - 1 Else RechercheHmulti = Sheets(FeuilRDT).Cells(RDT.Row, i) Exit Function End If End If Next i 'Si plus trouvé de concordance RechercheHmulti = "" Exit Function sortie: 'si erreur dans la formule, non détectée par Excel. RechercheHmulti = "#FAUTE!" End Function
Cdlt
Bonjour
Alors j'ai pu vérifier mais en faite ma demande était que les résulat s'affiche en ligne
je m'explique dans mon fichier plus haut les résultat s'affiche dans les cellule ou ce trouve ma fonction mais les cellule doivent être en collonne. ici j'aimerais que ma fonction soit sur une ligne que les résultat de la recherche ce place en ligne
Alors j'ai pu vérifier mais en faite ma demande était que les résulat s'affiche en ligne
je m'explique dans mon fichier plus haut les résultat s'affiche dans les cellule ou ce trouve ma fonction mais les cellule doivent être en collonne. ici j'aimerais que ma fonction soit sur une ligne que les résultat de la recherche ce place en ligne
Merci de votre réponse voici un fichier pour voir plus clair, enfin j'espère
en clo A vous avez les donné recherché en col B les donné qui sont exrait en col C le critére pour le moment avec la fonction rechecherv polyvalente les résultat ne s'affiche que verticalement mais si je copie la fonction horizontelement celà ne va pas j'ai mis en jaune la zon ou je voudrais les résultats merci de votre aide
lien du fichier
http://www.cjoint.com/c/EFEfiGgW0lW
en clo A vous avez les donné recherché en col B les donné qui sont exrait en col C le critére pour le moment avec la fonction rechecherv polyvalente les résultat ne s'affiche que verticalement mais si je copie la fonction horizontelement celà ne va pas j'ai mis en jaune la zon ou je voudrais les résultats merci de votre aide
lien du fichier
http://www.cjoint.com/c/EFEfiGgW0lW
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question