Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire automatiquement des données et transférer

8 réponses
Avatar
sonia
J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisateurs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'est :
dans une feuille du même fichier, écrire "manuellement" le nom d'un des
produit et ensuite pouvoir afficher automatiquement à l'aide d'une formule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les personnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia

8 réponses

Avatar
JB
Bonjour,

Interro avec formule
-Sélectionner C2:C15
=SI(ESTNUM(PETITE.VALEUR(SI(Produits¢;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));
INDEX(Noms;PETITE.VALEUR(SI(Produits¢;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));"")
Valider avec Maj+Ctrl+Entrée

http://cjoint.com/?hqqJQoSwcL


JB

On 16 juil, 16:08, sonia wrote:
J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisate urs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'es t :
dans une feuille du même fichier, écrire "manuellement" le nom d'un d es
produit et ensuite pouvoir afficher automatiquement à l'aide d'une form ule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les per sonnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia


Avatar
JB
Bonjour,

-Sélectionner C2:C15
=SI(ESTNUM(PETITE.VALEUR(SI(Produits¢;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));
INDEX(Noms;PETITE.VALEUR(SI(Produits¢;EQUIV(Noms;Noms;
0));LIGNE(INDIRECT("1:"&LIGNES(Noms)))));"")
Valider avec Maj+Ctrl+Entrée


http://cjoint.com/?hqqJQoSwcL

JB

On 16 juil, 16:08, sonia wrote:
J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisate urs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'es t :
dans une feuille du même fichier, écrire "manuellement" le nom d'un d es
produit et ensuite pouvoir afficher automatiquement à l'aide d'une form ule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les per sonnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia


Avatar
lSteph
Bonjour,

Essaie le Filtre élaboré cela devrait convenir.

Une excellente présentation en est faite sur http://excelabo.net

Cordialement.

lSteph


On 16 juil, 16:08, sonia wrote:
J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisate urs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'es t :
dans une feuille du même fichier, écrire "manuellement" le nom d'un d es
produit et ensuite pouvoir afficher automatiquement à l'aide d'une form ule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les per sonnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia


Avatar
JB
Solution VBA:

http://cjoint.com/?hqqZuB6fQ2


Clic-droit onglet

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Sheets("BD").Range("A1:B10000").AdvancedFilter
Action:=xlFilterCopy, _
CriteriaRange:=[A1:A2], CopyToRange:=Range("C1")
End If
End Sub


JB


On 16 juil, 16:08, sonia wrote:
J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisate urs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'es t :
dans une feuille du même fichier, écrire "manuellement" le nom d'un d es
produit et ensuite pouvoir afficher automatiquement à l'aide d'une form ule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les per sonnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia


Avatar
FFO
Salut sonia

Ma solution macro :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet Recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
i = i + 1
End If
Next
Sheets("Onglet source").Activate
Next

Espérant qu'elle te convienne !!!


J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisateurs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'est :
dans une feuille du même fichier, écrire "manuellement" le nom d'un des
produit et ensuite pouvoir afficher automatiquement à l'aide d'une formule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les personnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia


Avatar
FFO
Rebonjour sonia
Je viens de m'apercevoir d'une imperfection sur mon code
J'essaie de le corriger

Mille excuses


Salut sonia

Ma solution macro :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet Recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
i = i + 1
End If
Next
Sheets("Onglet source").Activate
Next

Espérant qu'elle te convienne !!!


J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisateurs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'est :
dans une feuille du même fichier, écrire "manuellement" le nom d'un des
produit et ensuite pouvoir afficher automatiquement à l'aide d'une formule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les personnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia




Avatar
FFO
Rebonjour sonia

Un peu tard mais vaut mieux que jamais mon code corrigé :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
If Range("IV" & c.Row).Interior.ColorIndex <> 6 Then
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
Sheets("Onglet source").Range("IV" & d.Row).Interior.ColorIndex = 6
i = i + 1
End If
Next
Sheets("Onglet source").Activate
End If
Next
Range("IV1").EntireColumn.Interior.ColorIndex = xlNone

Espérant qu'il aille mieux !!!!


Rebonjour sonia
Je viens de m'apercevoir d'une imperfection sur mon code
J'essaie de le corriger

Mille excuses


Salut sonia

Ma solution macro :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet Recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
i = i + 1
End If
Next
Sheets("Onglet source").Activate
Next

Espérant qu'elle te convienne !!!


J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisateurs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'est :
dans une feuille du même fichier, écrire "manuellement" le nom d'un des
produit et ensuite pouvoir afficher automatiquement à l'aide d'une formule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les personnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia






Avatar
FFO
Rebonjour sonia

Un peu tard mais vaut mieux que jamais mon code corrigé :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
If Range("IV" & c.Row).Interior.ColorIndex <> 6 Then
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
Sheets("Onglet source").Range("IV" & d.Row).Interior.ColorIndex = 6
i = i + 1
End If
Next
Sheets("Onglet source").Activate
End If
Next
Range("IV1").EntireColumn.Interior.ColorIndex = xlNone

Espérant qu'il aille mieux !!!!



Rebonjour sonia
Je viens de m'apercevoir d'une imperfection sur mon code
J'essaie de le corriger

Mille excuses


Salut sonia

Ma solution macro :

i = 1
Sheets("Onglet source").Activate
For Each c In Worksheets("Onglet source").Range("A1", [A65535].End(xlUp))
For Each d In Worksheets("Onglet source").Range(c, [A65535].End(xlUp))
If d = c Then
d.EntireRow.Copy
Sheets("Onglet Recopie").Activate
Range("A" & i).Activate
ActiveSheet.Paste
i = i + 1
End If
Next
Sheets("Onglet source").Activate
Next

Espérant qu'elle te convienne !!!


J'ai un tableau avec une colonne produit et une colonne utilisateur de
produit. Il y plusieurs fois le nom d'un produit (car plusieurs utilisateurs
pour ce produit) et plusieurs fois le nom d'un utilisateur (car plusieurs
produits utilisés par les personnes). Ce que je souhaiterais faire c'est :
dans une feuille du même fichier, écrire "manuellement" le nom d'un des
produit et ensuite pouvoir afficher automatiquement à l'aide d'une formule ou
d'une macro (que je ne maîtrise pas du tout) la liste de toutes les personnes
qui utilisent ce produit.
Voilà.
Sonia
--
sonia