Recherche de valeurs dans un tableau
mstecluque
Messages postés
73
Date d'inscription
Statut
Membre
Dernière intervention
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je rencontre un nouveau problème avec excel...
Je voudrais faire une recherche qui pour une case de mon tableau cherche sa dernière occurence dans les lignes précédentes, si occurence il y a.
J'ai tenté la rechechev, l'index(equiv) : le problème que je rencontre est le même, ça recherche dans toutes les lignes du tableau et prend la première trouvée.
SI quelqu'un peut m'aider, merci d'avance.
Je rencontre un nouveau problème avec excel...
Je voudrais faire une recherche qui pour une case de mon tableau cherche sa dernière occurence dans les lignes précédentes, si occurence il y a.
J'ai tenté la rechechev, l'index(equiv) : le problème que je rencontre est le même, ça recherche dans toutes les lignes du tableau et prend la première trouvée.
SI quelqu'un peut m'aider, merci d'avance.
A voir également:
- Recherche de valeurs dans un tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Imprimer un tableau excel - Guide
6 réponses
Bonjour,
Merci de nous transmettre un fichier avec exemple pour une meilleur compréhension.
Tu pourras l'héberger ici : www.cjoint.com et nous fournir le lien donné.
Cordialement.
Merci de nous transmettre un fichier avec exemple pour une meilleur compréhension.
Tu pourras l'héberger ici : www.cjoint.com et nous fournir le lien donné.
Cordialement.
Bonjour,
A mettre en D3 et à étirer en bas :
=SI(A3=A2;D2-C3;B3-C3)
Cordialement,
Excel-Worker
A mettre en D3 et à étirer en bas :
=SI(A3=A2;D2-C3;B3-C3)
Cordialement,
Excel-Worker
C'est gentil mais les lignes concernant une même commande ne sont regroupées que dans mon exemple. En réalité j'ai des milliers de lignes et une commande peut avoir des occurences n'importe où.
Et non je ne peux pas trier les commandes pour qu'elles soient regroupées, ça serait trop simple sinon. Les lignes sont classées selon la date de facturation, non pertinantes pour l'exemple, donc inexistante dans mon doc.
Merci quand même
Et non je ne peux pas trier les commandes pour qu'elles soient regroupées, ça serait trop simple sinon. Les lignes sont classées selon la date de facturation, non pertinantes pour l'exemple, donc inexistante dans mon doc.
Merci quand même
Bonjour à tous les deux
Peut être en passant par une macro
http://www.cjoint.com/c/EGhpIU1Zqmg
Cdlmnt
Peut être en passant par une macro
http://www.cjoint.com/c/EGhpIU1Zqmg
Cdlmnt
Je ne sais pas si on peut vraiment éviter de passer par vba
Une autre possibilité, toujours par macro, et peut être un peu plus rapide, il faut voir ce que ça donne sur un gros fichier
Bonne journée
Une autre possibilité, toujours par macro, et peut être un peu plus rapide, il faut voir ce que ça donne sur un gros fichier
Public Sub RALF() Dim li As Long, lifin As Long, comm As String, lili As Long Dim obj As Object, plage As Range Dim TR(), nbliT As Long, t As Single t = Timer With ActiveSheet lifin = .Range(coCO & Rows.Count).End(xlUp).Row nbliT = lifin - lideb + 1 ReDim TR(1 To nbliT) For li = lideb To lifin comm = .Range(coCO & li).Value Set plage = .Range(coCO & lideb - 1 & ":" & coCO & li - 1) Set obj = plage.Find(comm, , , xlWhole, , xlPrevious) If obj Is Nothing Then TR(li - 1) = .Range(coQP & li).Value - .Range(coQF & li).Value Else lili = obj.Row TR(li - 1) = TR(lili - 1) - .Range(coQF & li).Value End If Next li .Range(coRS & lideb).Resize(nbliT, 1) = Application.Transpose(TR) End With MsgBox "temps mis " & Timer - t & "s" End Sub
Bonne journée
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je n'ai mis que les colonnes pertinantes.
Merci d'avance.
Je ne comprends pas ce que tu cherche, peux-tu m'expliquer par des exemples les valeurs que tu recherche dans la colonne D. Merci
Ca complique la compréhension...
Du coup petite explication de mon doc :
Une commande (colonne A) peut être livrée en une ou plusieurs fois.
En colonne B, on a la quantité totale à produire.
En colonne C, on a la quantité livrée à un moment t.
En colonne D on a la quantité qu'il reste à livrer.
Et le bon fichier, avec à gauche ce qui devrait marcher, et à droite, le résultat espéré.
https://www.cjoint.com/c/EGhlFbjSO4C
Merci d'avance.
https://www.cjoint.com/c/EGhlIWYmURC