Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Calcul avec recherchev

leks74

XLDnaute Nouveau
Bonjour,
J'ai une feuille (feuil1) avec des formules et les données sont dans une autre feuille (feuil2).
Pour remplir les colonnes, plutôt que de faire du copier coller, je souhaiterais faire les calculs en allant chercher les données grâce à la fonction recherchev.
Est-ce possible svp? Je joins le fichier pour illustrer.
D'avance merci.
Cdt,
 

Pièces jointes

  • Matrice test.xls
    27 KB · Affichages: 20

leks74

XLDnaute Nouveau
Bonjour à tous,

A essayer

JHA
Bonjour JHA et merci pour la proposition. Je n'y arrive pas encore car je ne maîtrise pas la fonction index et equiv. Est-ce que c'est possible de mettre les éléments de formules en dur tel que: recherchev(R20;feuil1!D4:F12;4;Faux)? C'est une idée mais je ne sais pas comment le formaliser.
D'avance merci.
Cordialement,
 
Réactions: RMT

job75

XLDnaute Barbatruc
Bonsoir,
Est-ce que c'est possible de mettre les éléments de formules en dur tel que: recherchev(R20;feuil1!D4:F12;4;Faux)?
Oui en dur mais ce n'est pas bien fameux !

Entrer les 6 formules en C2:C7 et les tirer vers la droite.

En C2 par exemple :
Code:
=RECHERCHEV("R2";Feuil2!$C$4:$F$12;COLONNE()-1;0)
A+
 

Pièces jointes

  • Matrice test.xls
    28.5 KB · Affichages: 4

oguruma

XLDnaute Occasionnel
Hello, je vois que tu es en O365 pourquoi tu ne passes tes RechercheV en RechercheX ?
Autre solution : la combinaison de INDEX+EQUIV te donnera aussi de la souplesse si tu dois distribuer ton fichier à des utilisateurs qui n'ont pas O365, c'est une manière de rester compatible
Bien que tu aies tenté la manoeuvre aussi
 

job75

XLDnaute Barbatruc
Bunjour à tous,

Voyez le fichier .xlsm joint et cette fonction VBA :
VB:
Function Rech(x$, table As Range, col%)
Dim adr$, L%, i%, j%, formule$
adr = table.Address(External:=True)
L = Len(x)
For i = 1 To L
    If Mid(x, i, 1) = "R" Then
        For j = i + 1 To L+ 1
            If Not IsNumeric(Mid(x, j, 1)) Then
                formule = formule & "VLOOKUP(""" & Mid(x, i, j - i) & """," & adr & "," & col & ",0)"
                i = j
                Exit For
            End If
        Next j
    End If
    formule = formule & Mid(x, i, 1)
Next i
Rech = Evaluate(formule)
End Function
Le code doit être placé impérativement dans un module standard.

Formule en Feuil1!C2 à tirer à droite et vers le bas :
Code:
=Rech($B2;Feuil2!$C$4:$F$12;COLONNE()-1)
A+
 

Pièces jointes

  • Matrice test VBA.xlsm
    17.7 KB · Affichages: 2
Dernière édition:

Discussions similaires

Réponses
10
Affichages
401
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…