AFFICHAGE AUTOMATIQUE DES DONNEES (SUITE)

Le
elodie005
Bonsoir, j'espère que vous pourrez de nouveaux m'aider car j'ai une
nouvelle problématique.

Voilà je voudrais pouvoir trouver le moyen de faire la chose
suivante :

Dans la feuille 1, mes données sont présentés de la façon suivante =
:

A B
C ..U
Objet Constituants Prix
Voiture Volant 45
Pneus 100
Carrosserie 1500
Lampe Ampoule 1
Fil éléctique 2

Je voudrais à partir de la feuille 2, que quand j'indique en colonne
A
un Objet, les autres colonnes se remplissent automatiquement avec les
constituants qui s'y rapportent de la façon suivante :

En B les données de la colonne B de la feuille 1 en rapport avec
l'élément tapé (si je tape lampe ampoule et fil électrique s'affich=
e
en B)
En C les données de la colonne C de la feuille 1 en rapport avec
l'élément tapé
Rien dans la colone D
En E les données de la colonne U en rapport avec l'élément tapé


Pouvez-vous m'aider avec une macro que je puisse adapter à des cas
spécifiques
comme celui-là??

Merci d'avance pour 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
Caetera
Le #21556031
"elodie005"
Voilà je voudrais pouvoir trouver le moyen de faire la chose
suivante :



*************

http://www.cijoint.fr/cjlink.php?file=cj201004/cijwjbUE3M.xls

Etc
elodie005
Le #21560711
Merci beaucoup pour cette macro, toutefois je voudrais que ca marche
pas uniquement dans la cellule A1 mais en tappant n'importe où dans la
colonne A (en tapant le moment et sans liste déroulante).

De plus en changeant le nom de la feuille quand je change dans le code
le résultats par le nom de la feuille, ça ne marche plus.

Pouvez-vous m'aider à nouveau?

Merci d'avance




On 14 avr, 18:23, "Caetera"
"elodie005"

>Voilà je voudrais pouvoir trouver le moyen de faire la chose
>suivante :

*************

http://www.cijoint.fr/cjlink.php?file=cj201004/cijwjbUE3M.xls

Etc
michdenis
Le #21560971
Tu as déjà posé cette question et je t'ai répondu ceci :


Suppose que ta feuille d'origine où sont tes données s'appelle "sheet2"
et qu'à chaque fois que tu entres une donnée sur la feuille X, tu veux
que s'inscrive automatiquement le contenu de la colonne B et C en
rapport avec l'expression tapée en colonne A.

Dans le module feuille où doivent s'afficher automatiquement les
données,
copie cette procédure et n'oublie pas d'adapter le nom de la feuille des
données d'origine dans la procédure.

'-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Ligne As Variant, DerLig As Long
Dim Nb As Long, B As Long, Sh As Worksheet

''Adapte le nom de la feuille d'origine des données
Set Sh = Worksheets("Sheet2")

Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
If Rg.Cells.Count > 1 Then Exit Sub
Nb = Range("A65536").End(xlUp).Row
Ligne = Application.Match(Target, Sh.Range("A:A"), 0)
If IsNumeric(Ligne) Then
DerLig = Ligne + 1
Do While Range("A" & DerLig) = ""
DerLig = DerLig + 1
If DerLig > Nb Then Exit Do
Loop

With Sh
Application.EnableEvents = False
.Range(.Cells(Ligne, 1), .Cells(DerLig, 1)). _
Offset(, 1).Resize(, 20).Copy Target.Offset(, 1)
Application.EnableEvents = True
End With
Else
MsgBox "Expression inexistante dans la feuille source des données."
End If
End If
End Sub
'-----------------------------------------------




"elodie005"
Merci beaucoup pour cette macro, toutefois je voudrais que ca marche
pas uniquement dans la cellule A1 mais en tappant n'importe où dans la
colonne A (en tapant le moment et sans liste déroulante).

De plus en changeant le nom de la feuille quand je change dans le code
le résultats par le nom de la feuille, ça ne marche plus.

Pouvez-vous m'aider à nouveau?

Merci d'avance




On 14 avr, 18:23, "Caetera"
"elodie005"

>Voilà je voudrais pouvoir trouver le moyen de faire la chose
>suivante :

*************

http://www.cijoint.fr/cjlink.php?file=cj201004/cijwjbUE3M.xls

Etc
elodie005
Le #21563951
Merci beauvoup pour m'avoir de nouveau répondu, c'est presque ça mais
en fait je voudrais que la colonne U de la feuille 1 se retrouve dans
la colonne E (et non U) de la feuille 2 et je ne veux pas que les
données des autres colonnes que B C U se retrouve dans la feuille 2

Pensez-vous que c'est faisable?

Encore merci pour votre aide


On 15 avr, 13:05, "michdenis"
Tu as déjà posé cette question et je t'ai répondu ceci :

Suppose que ta feuille d'origine où sont tes données s'appelle "sheet 2"
   et qu'à chaque fois que tu entres une donnée sur la feuille X, tu veux
   que s'inscrive automatiquement le contenu de la colonne B et C en
   rapport avec l'expression tapée en colonne A.

   Dans le module feuille où doivent s'afficher automatiquement les
   données,
   copie cette procédure et n'oublie pas d'adapter le nom de la feu ille des
   données d'origine dans la procédure.

   '-----------------------------------------------
   Private Sub Worksheet_Change(ByVal Target As Range)
   Dim Rg As Range, Ligne As Variant, DerLig As Long
   Dim Nb As Long, B As Long, Sh As Worksheet

   ''Adapte le nom de la feuille d'origine des données
   Set Sh = Worksheets("Sheet2")

   Set Rg = Intersect(Target, Range("A:A"))

   If Not Rg Is Nothing Then
   If Rg.Cells.Count > 1 Then Exit Sub
   Nb = Range("A65536").End(xlUp).Row
   Ligne = Application.Match(Target, Sh.Range("A:A"), 0)
   If IsNumeric(Ligne) Then
   DerLig = Ligne + 1
   Do While Range("A" & DerLig) = ""
   DerLig = DerLig + 1
   If DerLig > Nb Then Exit Do
   Loop

   With Sh
   Application.EnableEvents = False
   .Range(.Cells(Ligne, 1), .Cells(DerLig, 1)). _
   Offset(, 1).Resize(, 20).Copy Target.Offset(, 1)
   Application.EnableEvents = True
   End With
   Else
   MsgBox "Expression inexistante dans la feuille source des donnée s."
   End If
   End If
   End Sub
   '-----------------------------------------------

"elodie005"
Merci beaucoup pour cette macro, toutefois je voudrais que ca marche
pas uniquement dans la cellule A1 mais en tappant n'importe où dans la
colonne A (en tapant le moment et sans liste déroulante).

De plus en changeant le nom de la feuille quand je change dans le code
le résultats par le nom de la feuille, ça ne marche plus.

Pouvez-vous m'aider à nouveau?

Merci d'avance

On 14 avr, 18:23, "Caetera"


> "elodie005" >

> >Voilà je voudrais pouvoir trouver le moyen de faire la chose
> >suivante :

> *************

>http://www.cijoint.fr/cjlink.php?file=cj201004/cijwjbUE3M.xls

> Etc- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
michdenis
Le #21564501
Énumère ce que tu veux retrouver :

la colonne U de la feuille 1 se retrouve dans la colonne E
et sois spécifique pour les autres...



"elodie005"
Merci beauvoup pour m'avoir de nouveau répondu, c'est presque ça mais
en fait je voudrais que la colonne U de la feuille 1 se retrouve dans
la colonne E (et non U) de la feuille 2 et je ne veux pas que les
données des autres colonnes que B C U se retrouve dans la feuille 2

Pensez-vous que c'est faisable?

Encore merci pour votre aide


On 15 avr, 13:05, "michdenis"
Tu as déjà posé cette question et je t'ai répondu ceci :

Suppose que ta feuille d'origine où sont tes données s'appelle "sheet2"
et qu'à chaque fois que tu entres une donnée sur la feuille X, tu veux
que s'inscrive automatiquement le contenu de la colonne B et C en
rapport avec l'expression tapée en colonne A.

Dans le module feuille où doivent s'afficher automatiquement les
données,
copie cette procédure et n'oublie pas d'adapter le nom de la feuille des
données d'origine dans la procédure.

'-----------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, Ligne As Variant, DerLig As Long
Dim Nb As Long, B As Long, Sh As Worksheet

''Adapte le nom de la feuille d'origine des données
Set Sh = Worksheets("Sheet2")

Set Rg = Intersect(Target, Range("A:A"))

If Not Rg Is Nothing Then
If Rg.Cells.Count > 1 Then Exit Sub
Nb = Range("A65536").End(xlUp).Row
Ligne = Application.Match(Target, Sh.Range("A:A"), 0)
If IsNumeric(Ligne) Then
DerLig = Ligne + 1
Do While Range("A" & DerLig) = ""
DerLig = DerLig + 1
If DerLig > Nb Then Exit Do
Loop

With Sh
Application.EnableEvents = False
.Range(.Cells(Ligne, 1), .Cells(DerLig, 1)). _
Offset(, 1).Resize(, 20).Copy Target.Offset(, 1)
Application.EnableEvents = True
End With
Else
MsgBox "Expression inexistante dans la feuille source des données."
End If
End If
End Sub
'-----------------------------------------------

"elodie005"
Merci beaucoup pour cette macro, toutefois je voudrais que ca marche
pas uniquement dans la cellule A1 mais en tappant n'importe où dans la
colonne A (en tapant le moment et sans liste déroulante).

De plus en changeant le nom de la feuille quand je change dans le code
le résultats par le nom de la feuille, ça ne marche plus.

Pouvez-vous m'aider à nouveau?

Merci d'avance

On 14 avr, 18:23, "Caetera"


> "elodie005" >

> >Voilà je voudrais pouvoir trouver le moyen de faire la chose
> >suivante :

> *************

>http://www.cijoint.fr/cjlink.php?file=cj201004/cijwjbUE3M.xls

> Etc- Masquer le texte des messages précédents -

- Afficher le texte des messages précédents -
Publicité
Poster une réponse
Anonyme