Find findnext et loop

lerexcel

XLDnaute Junior
Bonsoir,

Je cherche depuis plusieurs heures et je ne trouve pas pourquoi ce code ne marche pas. Si vous pouvez m'aider...ben ça m'aiderait beaucoup...
POS = 2
Cpt = 0
With PLAGE.Columns(1)

Set c = .Find(what:=REF, LookIn:=xlValues)
If Not c Is Nothing Then
Ad = c.Address
Do

Cpt = Cpt + 1
X = c.row ' ICI lors du Loop ça bug ??
Set c = .FindNext(c)
Loop While c.Address <> Ad Or Cpt < POS
End If
End With

Vous m'enlèverez une grosse épine de la main...

Merci...
 

kjin

XLDnaute Barbatruc
Re : Find findnext et loop

Bonsoir,
Ca fait un moment que je cogite, parce qu'en plus de tenter de trouver une solution, il faut essayer de comprendre ce que tu as voulu faire, car j'ai beau chercher dans ton message, je ne vois pas l'ombre d'un début d'explication !
Et qui plus est, c'est une fonction, et le code est incomplet
Et tu trouve que 1h c'est trop long :rolleyes:
A+
kjin
 

kjin

XLDnaute Barbatruc
Re : Find findnext et loop

Bonjour,
Des fois on dort aussi :D
Si je suis bien réveillé et que j'ai tout bien compris, tu pourrais juste intercepter le changement de valeur en C3, pour renvoyer directement le résultat, qui est forcément un tableau dans ton cas.
Mais comme tu préfères une fonction et que le résultat est un tableau, c'est forcément une fonction matricielle.
Code:
Function REP(Plage As Range, Cel As Range)
Application.Volatile
Dim tablo1() As Variant
Application.ScreenUpdating = False
NbCol = Plage.Columns.Count
    x = 1
    For i = 1 To Plage.Rows.Count
        If Plage.Cells(i, 1) = Cel.Value Then
            ReDim Preserve tablo1(1 To NbCol, 1 To x)
            For y = 1 To NbCol
                tablo1(y, x) = Plage.Cells(i, y)
            Next y
            x = x + 1
        End If
    Next i
        REP = Application.Transpose(tablo1)
Application.ScreenUpdating = True

End Function
A valider par Maj + Ctrl + Entrée
Sache néanmoins que les fonctions Index/Equiv ou RechercheV feraient exactement la même chose en beaucoup mieux !, mais bon
A+
kjin
 

Pièces jointes

  • Matricielle.zip
    9.3 KB · Affichages: 37
  • Matricielle.zip
    9.3 KB · Affichages: 36
  • Matricielle.zip
    9.3 KB · Affichages: 34

lerexcel

XLDnaute Junior
Re : Find findnext et loop

merci, je vais tester et te dire...je sais pour index equiv mais en fait c'est un bout dans un bout, ma formule ne s'arretera pas là...elle gère à la base plein de chose que ne fait pas excel normalement...le but est de creer une formule fourre-tout que tous mes collègues pourraient se servir sans avoir à mélanger 50 formules matricielles pour avoir le résultat escompté...en tout cas je te remercie ENORMEMENT pour ton aide je vais copier le code le tester le comprendre et en tirer le meilleur. Je penserais à toi quand je l'aurait fini (enfin optimiser grace à ton code)....
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 611
Messages
2 090 226
Membres
104 453
dernier inscrit
benjiii88