Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

julienha

XLDnaute Occasionnel
bonjour, dans le fichier ci-joints, lorsque je choisis en A5 une des valeurs du menu, j'aimerais que s'affiche à partir de B5 l'ensemble des données (en feuille 2) correspondant à la valeur choisie en A5.
Par exemple, si je choisis MCXP Index en A5, j'aimerais que s'affiche en colonne B et C , les données relative a cette valeur, cad AS3 à AS10, et AT3 à AT10 (en feuille 2)

merci bcp
 

Pièces jointes

Re : réplication valeur

Bonjour Julienha, bonjour le forum,

Je te propose en pièce jointe la macro évenementielle Change ci-dessous :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte 'déclare la variable col (COLonne)
Dim x As Byte 'déclare la variable x (incrément)
If Target.Address <> "$A$5" Then Exit Sub 'si le changement à lieu ailleurs qu'en A5, sort de la procédure
If Target.Value = "" Then Exit Sub 'si A5 est effacée, sort de la procédure
On Error Resume Next 'gestion des erreurs (si col n'existe pas...)
'définit la colonne col (recherche de la valeur de A5 dans la ligne 2 de l'onglet 'Feuil2")
col = Sheets("Feuil2").Rows(2).Find(Target.Value, , xlValues, xlWhole).Column
If Err > 0 Then Exit Sub 'si col n'existe pas, sort de la procédure
For x = 2 To 9 'boucle sur les 8 valeurs
    Cells(5, x).Value = Sheets("Feuil2").Cells(x + 1, col).Value 'place les données
Next x 'prochain élément de la boucle
End Sub
 

Pièces jointes

Re : réplication valeur

merci, mais en fait il me faudrait par exemple si je selectionne sxap index en A feuille1, avoir a partir de B5 (feuille1) , les valeurs de A3 a A10 de la feuille 2 en colonne, et a partir de C5 (feuille 1), les valeurs de B3 à B10 en colonne
 
Re : réplication valeur

Bonjour Julienha, bonjour le forum,

Difficile de te dire ce que tu dois adapter pour un autre fichier. Je t'ai commenté les codes pour te faciliter la tâche mais il semble que tes connaissances en VBA sont au niveau débutant...

Pour le second problème le maximum était 255 à cause de la variable x déclarée comme Byte. J'ai modifié en la déclarant comme Long et tu n'auras plus de problème de limitation...

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim col As Byte 'déclare la variable col (COLonne)
Dim x As [COLOR=red]Long[/COLOR] 'déclare la variable x (incrément)
 
If Target.Address <> "$A$5" Then Exit Sub 'si le changement à lieu ailleurs qu'en A5, sort de la procédure
If Target.Value = "" Then Exit Sub 'si A5 est effacée, sort de la procédure
 
On Error Resume Next 'gestion des erreurs (si col n'existe pas...)
'définit la colonne col (recherche de la valeur de A5 dans la ligne 2 de l'onglet 'Feuil2")
col = Sheets("Feuil2").Rows(2).Find(Target.Value, , xlValues, xlWhole).Column
If Err > 0 Then Exit Sub 'si col n'existe pas, sort de la procédure
For x = 2 To 9 'boucle sur les 8 valeurs
    Cells(3 + x, 2).Value = Sheets("Feuil2").Cells(x + 1, col).Value 'place les données
    Cells(3 + x, 3).Value = Sheets("Feuil2").Cells(x + 1, col + 1).Value 'place les données
Next x 'prochain élément de la boucle
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
985
Retour