RechercheV obtenir le total si plus d'un valeur ident. dans la zon

Le
gari_belle
Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimerais
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4533871
Salut Gari
J'ai résolu cette demmande par macro avec de plus la possibilité de
récupérer tous les heureux élus en tête de feuille surligné en jaune
Par défaut ces heureux élus sont juste surlignés en jaune pour mieus les
repérer en faisant défiler la feuille
L'idéale est de mettre ce code dans un classeur vierge que tu ouvriras à la
demande pour pouvoir l'utiliser dans n'importe quel document (associer à un
bouton tu pourras aller le chercher automatiquement)
Une boîte de dialogue te demandera le mot à rechercher
Que le mot
la macro ne cherchera que ce mot
Il peut être précédé ou suivi de * qui permettra de chercher :
Précédé tous les mots se terminant
Suivi tous les mots commençant
Précédé et Suivi tous les mots contenant
Le code s'affranchit des minuscules/majuscules
Il garde en mémoire la dernière recherche
Seule préambule : sélectionner la zone de recherche
Le code

Selection.Interior.ColorIndex = xlNone
Fichier = ActiveWorkbook.Name
b = ActiveCell.Address
Nbc = 0
Workbooks("Macro Sélection.xls").Activate
Défaut = Sheets("Feuil3").Range("Z1")
Workbooks(Fichier).Activate
If Défaut <> "" Then
a = InputBox("Recherche", "Donnée", Défaut)
Else
a = InputBox("Recherche", "Donnée", "**")
End If
If a <> "" Then
Workbooks("Macro Sélection.xls").Activate
Sheets("Feuil3").Range("Z1") = a
End If
If a = "" Then
Exit Sub
End If
Workbooks(Fichier).Activate
For Each C In Selection
If UCase(C) Like UCase(a) Then
C.Interior.ColorIndex = 6
Nbc = Nbc + 1
F = C.Address
End If
Next
If Nbc = 0 Then
MsgBox ("Introuvable")
Exit Sub
Else
MsgBox (Nbc)
End If
If MsgBox("Voulez vous Les identifier ?", vbYesNo, "Identification") =
vbYes Then
D = Cells.SpecialCells(xlLastCell).Offset(0, 1).Address
E = Cells.SpecialCells(xlLastCell).Offset(0, 1).End(xlUp).Address
Range(D, E).Value = "µ"
For Each C In Selection
If C.Interior.ColorIndex = 6 Then
C.EntireRow.Select
For Each D In Selection
If D.Value = "µ" Then
D.Value = 1
Exit For
End If
Next
End If
Next
Else: Exit Sub
End If
'Range("A65000").End(xlUp).Select
Range(F, [b]).EntireRow.Select
Selection.Sort Key1:=Range(E), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
Range(E).EntireColumn.Clear
Range(b).Select

Qu'en penses tu
Celà te convient-il
Dis moi !!!


Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimerais
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide


JB
Le #4533851
Bonjour,


-Si c'est pour compter le nombre de fois, uitiliser
NB.Si(champ;critère)
-S'il s'agit d'effectuer la somme de nombres associés dans une autre
colonne, utiliser Somme.Si(champ_critère;critère;champ_somme)

JB



On 18 mai, 16:25,
Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimera is
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide


gari_belle
Le #4533841
Merci ca aurait probablement été parfait dans d'autre circonstance, le fait
est que dans le tableau qui me préoccupe, les usagers viennent copier une
base de données dans une zone, et le résultat se réflète dans un rapport
consolidé sur une autre feuille, et c'est ce dernier qui doit etre présenté
ou imprimé, il ne pourront pas utiliser ta macro pour obtenir chaque donnée
différente. Fiouuu j'espère que j'exprime bien mon besoin

Alors pensez-vous que ca peut se faire?


Salut Gari
J'ai résolu cette demmande par macro avec de plus la possibilité de
récupérer tous les heureux élus en tête de feuille surligné en jaune
Par défaut ces heureux élus sont juste surlignés en jaune pour mieus les
repérer en faisant défiler la feuille
L'idéale est de mettre ce code dans un classeur vierge que tu ouvriras à la
demande pour pouvoir l'utiliser dans n'importe quel document (associer à un
bouton tu pourras aller le chercher automatiquement)
Une boîte de dialogue te demandera le mot à rechercher
Que le mot
la macro ne cherchera que ce mot
Il peut être précédé ou suivi de * qui permettra de chercher :
Précédé tous les mots se terminant
Suivi tous les mots commençant
Précédé et Suivi tous les mots contenant
Le code s'affranchit des minuscules/majuscules
Il garde en mémoire la dernière recherche
Seule préambule : sélectionner la zone de recherche
Le code

Selection.Interior.ColorIndex = xlNone
Fichier = ActiveWorkbook.Name
b = ActiveCell.Address
Nbc = 0
Workbooks("Macro Sélection.xls").Activate
Défaut = Sheets("Feuil3").Range("Z1")
Workbooks(Fichier).Activate
If Défaut <> "" Then
a = InputBox("Recherche", "Donnée", Défaut)
Else
a = InputBox("Recherche", "Donnée", "**")
End If
If a <> "" Then
Workbooks("Macro Sélection.xls").Activate
Sheets("Feuil3").Range("Z1") = a
End If
If a = "" Then
Exit Sub
End If
Workbooks(Fichier).Activate
For Each C In Selection
If UCase(C) Like UCase(a) Then
C.Interior.ColorIndex = 6
Nbc = Nbc + 1
F = C.Address
End If
Next
If Nbc = 0 Then
MsgBox ("Introuvable")
Exit Sub
Else
MsgBox (Nbc)
End If
If MsgBox("Voulez vous Les identifier ?", vbYesNo, "Identification") =
vbYes Then
D = Cells.SpecialCells(xlLastCell).Offset(0, 1).Address
E = Cells.SpecialCells(xlLastCell).Offset(0, 1).End(xlUp).Address
Range(D, E).Value = "µ"
For Each C In Selection
If C.Interior.ColorIndex = 6 Then
C.EntireRow.Select
For Each D In Selection
If D.Value = "µ" Then
D.Value = 1
Exit For
End If
Next
End If
Next
Else: Exit Sub
End If
'Range("A65000").End(xlUp).Select
Range(F, [b]).EntireRow.Select
Selection.Sort Key1:=Range(E), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:úlse, Orientation:=xlTopToBottom
Range(E).EntireColumn.Clear
Range(b).Select

Qu'en penses tu
Celà te convient-il
Dis moi !!!


Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimerais
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide




FFO
Le #4533831
ReBonjour gari
Précision importante :
Le document qui porte le code doit être nomé "Macro Sélection"
Si le document porte un autre nom il faut remplacer dans le code
"Macro Sélection" par ce nouveau nom
Tu peux utiliser dans le VBA de la macro la fonction Edition/Remplacer

Mille excuses pour cet oubli


Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimerais
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide


gari_belle
Le #4533821
Bonjour JB

Ce fut ma première tentative de faire faire le rapport consolidé avec
somme.si, mais pour une raison que j'ignore certains résultats ne s'affiche
pas, j'ai pourtant bien nommé mes zones, j'ai meme copier la formule d'un
résultat qui fonctionne en modifiant pour adapter a la nouvelle recherche et
rien ne s'affiche, ce n'est pourtant pas la première fois que j'utilise
somme.si sans problème, je viens de refaire un qui fonctionnait pas et vlan
la ca apparait pourquoi, la ca me dépasse


Bonjour,


-Si c'est pour compter le nombre de fois, uitiliser
NB.Si(champ;critère)
-S'il s'agit d'effectuer la somme de nombres associés dans une autre
colonne, utiliser Somme.Si(champ_critère;critère;champ_somme)

JB



On 18 mai, 16:25,
Bonjour les experts

J'utilise RechercheV pour trouver une valeur dans ma colonne A!, j'aimerais
que quand il rencontre la même valeur plusieurs fois qu'il me retourne le
total, est-ce faisable

Merci beaucoup de votre aide







Publicité
Poster une réponse
Anonyme