Bonjour à tous,
Je reviens vers vous malgrés l'aide récente que j'ai pu avoir sur le forum, je ne souhaite pas en abuser malheureusement je suis bloqué.. depuis plusieurs jours, je pense cependant que le problème se joue à des détails et doit pouvoir être résolue assez facilement.
Voilà la situation, sur ma feuille "corrélation_ratio" j'ai dans les cellules D5:F5 des noms de postes qui peuvent être choisis par des listes déroulantes, ils correspondent à des entêtes de colonne de ma base de données qui se trouve dans la feuille "base_données". Je souhaite selon le nom contenue dans les cellules D5:F5 avoir les données des colonnes correspondantes en dessous de ces cellules ( en gros D5 choix du poste, à partir de D6 données de la colonne), si j'enregistrais une macro, ca ressemblerait à un copié collé.
Le but sera par la suite de pourvoir déterminer des ratio entre deux types de données avec la possibilité en plus de trier les données avec une colonne servant de critère à gauche, m'enfin ça.. c'est juste pour imager, je m'en occuperais par la suite.
Pour essayer de faire ce code je me suis inspiré de celui qui calcul les coefficients de corrélations dans le tableau à gauche module "calcul_coef", sachant que ce dernier commence un peu de la même façon, c'est à dire que selon les postes choisis dans les cellules B5,7 etc il va chercher le contenue des colonnes pour leurs appliquer la formule. J'ai essayer de le modifier de nombreuses façon en commençant par une seule colonne mais rien y fait.
voila l'une des nombreuses manières dont j'ai essayé de tourner le code "module 1", il parait surement ridicule... c'est vraiment pour imager ce que je souhaite.
Sub colonne_copy()
Dim rng As Range, valeur As String, lCol As Long, lRow As Long, cible As Range
cible = Worksheets("corrélation_ratio").Cells(38, 2)
valeur = Worksheets("corrélation_ratio").Cells(37, 2).Value
With Worksheets("base_données")
lCol = Application.Match(valeur, Sheets("Base_Données").Range("A5:GJ5"), 0)
End With
If Err.Number = 0 Then
With Worksheets("Base_Données")
lRow = .Cells(.Rows.Count, lCol).End(xlUp).Row
Set rng = .Cells(6, lCol).Resize(lRow - 5)
End With
With ActiveSheet
cible = rng
End With
End If
End Sub
Je mets mon fichier avec certaines données confidentielles enlevées en pièce jointe en cas de besoin, votre aide me serait précieuse, cordialement.