XL 2016 Fonction RechercheV + Decaler sur feuil2

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MORISS

XLDnaute Junior
Bonjour,

Je viens vers vous car j'aimerais rechercher dans un tableau d'une autre feuil certaine infos d'une description.

J'aimerais en F25 récupérer uniquement la première partie de la description et en G25 la deuxième partie de la description.

Exemple de description : AAA 24*45g

F25 = 24
G25 = 45

Je joint un tableau ou les cellules son remplie manuellement.

Merci d'avance
 

Pièces jointes

Bonjour MORISS, chris, JHA,

D'après le post #1 on ne s'occupe que des nombres (2 ou 3).

Voyez le fichier joint et cette fonction VBA (matricielle) :
Code:
Function N_2_3(t$)
Dim i%, j%, a&(1 To 2), k%
t = Replace(t, " ", "") 'suppression des espaces nécessaire ?
t = "z" & t
For i = 3 To Len(t)
  If Not IsNumeric(Mid(t, i, 1)) And Mid(t, i - 1, 3) Like "#?#" Then
    For j = i - 2 To 1 Step -1
      If Not IsNumeric(Mid(t, j, 1)) Then Exit For
    Next j
    a(1) = Mid(t, j + 1, i - j - 1)
    For j = i + 2 To Len(t)
      If Not IsNumeric(Mid(t, j, 1)) Then Exit For
    Next j
    a(2) = Mid(t, i + 1, j - i - 1)
    If IsNumeric(Mid(t, j + 1, 1)) Then 'si 3 nombres successifs
      a(1) = a(1) * a(2)
      For k = j + 2 To Len(t)
        If Not IsNumeric(Mid(t, k, 1)) Then Exit For
      Next k
      a(2) = Mid(t, j + 1, k - j - 1)
    End If
    Exit For
  End If
Next i
N_2_3 = a 'matrice (vecteur ligne)
End Function
Elle doit impérativement être placée dans un module standard.

Elle est utilisée dans la plage F25:G25 avec cette formule validée matriciellement :
Code:
=SIERREUR(N_2_3(RECHERCHEV(D25;Feuil2!B:C;2;0));"")
Bien noter que le séparateur des 2 ou 3 nombres peut être quelconque (un seul caractère).

A+
 

Pièces jointes

Bonjour MORRIS, le forum,

Le fichier que j'ai joint donne bien les bons résultats en F25:G33 non ?

Sur un autre fichier faites exactement ce que j'ai écrit :

- sélectionner la plage F25:G25 et dans la barre de formules entrer la formule
Code:
=SIERREUR(N_2_3(RECHERCHEV(D25;Feuil2!B:C;2;0));"")
- valider matriciellement par Ctrl+Maj+Entrée

- copier-Collage spécial-Formules de F25:G25 vers le bas.

Bonne journée.
 
Bonjour,

Merci pour votre retour,

Je fait exactement comme vous seulement sur mon excel pour valider une matrice il faut faire ctrl+shift+entré.

Quand je fait cela en sélectionnant la plage des cellules F25 et G25 excel me dit : Un tableau ne peut pas contenir de formules matricielles à plusieurs cellules.

Donc je fait cela une cellule après l'autre mais il me donne aucun résultat.

Cordialement
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour