Renvoyer des cellules dans différentes colonnes en fonction de leurs valeurs, et

edouard_berth Messages postés 17 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 8 août 2005 - 8 juil. 2005 à 16:50
edouard_berth Messages postés 17 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 8 août 2005 - 8 juil. 2005 à 19:37
Bonjour,

J'aimerais que si ma cellule A7 par exemple contient le mot "chien", la cellule B7 parte dans la colonne "chien" du tableau de la feuille suivante.
J'aimerais pouvoir le faire sans avoir à citer toutes les valeurs possibles dans mon code... En gros, il faudrait que je trouve un code qui dise:
"si la cellule sélectionnée est égale à X, alors va sur la feuille suivante, et copie la valeur de la cellule à droite de l'activecell, sur la ligne n de la colonne dont la première cellule a une valeur identique à la cellule active...

Si quelqu'un à une idée, même une piste...

Merci d'avance

4 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
8 juil. 2005 à 18:48
Bonjour,

J'ai un code qui je crois peut marcher, mais à conditions qu'il n'y ai
pas de doublons dans la colonne. Par exemple tu cites le mot "chien" en
A7, si en A15 ou autres tu as encore le mot "chien", alors mon code ne
marchera pas.

Peut tu préciser ?



jpleroisse
0
edouard_berth Messages postés 17 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 8 août 2005
8 juil. 2005 à 19:05
Merci pour ta réponse,
en fait j'ai effectivement des doublons dans la colonne, mais si tu pouvais tout de même me passer ton code, ça pourrait me servir de point de départ...

Pour l'instant, j'ai tenté quelque chose, mais ce n'est pas encore très concluant. Je n'arrive pas à entrer la référence de la case de la seconde feuille dans la variable TitreCol, et je ne comprends pas pourquoi. Sinon, ma boucle fonctionne.
Voilà mon bout de code. C'est un peu brouillon, mais je commence...


Sub plageauteur2()



Dim MaTable() As String
Dim MaTable2() As String

Dim MaPlage As Range
Dim MaPlage2 As Range
Dim Cellule As Range

Dim Compteur1, Compteur2 As Integer

'Parcourir les cellules de la colonne A
For Each Cellule In ActiveSheet.Range("A1:A" & ActiveSheet.Range("A65536").End(xlUp).Row)
If Cellule.Value = "Auteur" Then
If MaPlage Is Nothing Then
Set MaPlage = Cellule
Set MaPlage2 = Cellule.Offset(0, 1)

Else
Set MaPlage = Union(MaPlage, Cellule)
Set MaPlage2 = Union(MaPlage2, Cellule.Offset(0, 1))
End If
End If
Next

'Récupérer les adresses des cellules de la plage
MaTable = Split(MaPlage.Address, ",")
MaTable2 = Split(MaPlage2.Address, ",")

Compteur1 = 0
Compteur2 = Compteur1 + 1

Dim TitreCol As Range

Set TitreCol = Sheets(ActiveSheet.Index + 1).Range("A1")

ActiveSheet.Range(MaTable(Compteur1)).Select
i = 1

Do

If Selection.Value = Worksheets(ActiveSheet.Index + 1).Cells(1, i).Value Then
TitreCol = TitreCol.Offset(0, i)
Else
MsgBox (dommage)
i = i + 1
End If

Loop Until Selection.Value = Sheets(ActiveSheet.Index + 1).Cells(1, i).Value


Sheets(ActiveSheet.Index + 1).Select
'avec l'ordre au dessus ca marche, mais pas avec celuyi de dessous...
TitreCol.Select


Si quelqu'un avait une idée...
0
edouard_berth Messages postés 17 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 8 août 2005
8 juil. 2005 à 19:12
En fait c'est bon, j'ai réussi à enregistrer la variable... j'ai encore des petits problèmes de syntaxe...
0
edouard_berth Messages postés 17 Date d'inscription lundi 4 juillet 2005 Statut Membre Dernière intervention 8 août 2005
8 juil. 2005 à 19:37
Petit correctif, je réussi à activer la cellule correspondant à titrecol, maisje suis obligé de sélectionner la feuille ou elle se trouve auparavant.

Quelqu'un saurait-il comment contourner ce problème ?
0