Copie de données entre deux feuilles par macro

ascarter

XLDnaute Junior
Bonjour à tous et toutes,
J'ai mis un fichier exemple en pj pour mieux comprendre mon problème.Dans mon fichier réel les modifs qui apparaissent dans la colonne A de la feuille 1 sont préalablement choisis grâce a des cases à cocher. Mais le problème n'est pas là.
Dans la feuille 2,chaque modifs est associé à un "niveau".Mon problème est le suivant, j'aimerais qu'en appuyant sur le bouton "Afficher les niveaux",les niveaux associés à chaque modifs apparaisent dans la colonne B de la feuille 1.Merci pour votre aide.Pour info, les modifs qui apparaisent dans la colonne A ne sont pas forcément les unes derrière les autres,il peut y avoir des espaces entre les lignes comme le montre l'exemple, ceci est du a ma macro qui me permet d'afficher ces modifs.
Merci d'avance pour vos réponses.
 

Pièces jointes

  • Test niveau.xls
    20 KB · Affichages: 47
  • Test niveau.xls
    20 KB · Affichages: 49
  • Test niveau.xls
    20 KB · Affichages: 50

ascarter

XLDnaute Junior
Re : Copie de données entre deux feuilles par macro

Par exemple, dans la feuille 2, T10 est associé au niveau 1, T14 associé au niveau 3....
Si dans la feuille 1, T10 apparaît dans la colonne A, j'aimerais qu'en cliquant sur le bouton "Affichage niveau", le chiffre 1 apparaisent dans la colonne B à coté de T10.
Si dans la feuille 1, T14 apparaît dans la colonne A, j'aimerais qu'en cliquant sur le bouton "Affichage niveau", le chiffre 3 apparaisent dans la colonne B à coté de T14.....
J'espére avoir été plus clair.Merci pour vos réponses.
 

Pièces jointes

  • Test niveau.xls
    16.5 KB · Affichages: 40
  • Test niveau.xls
    16.5 KB · Affichages: 40
  • Test niveau.xls
    16.5 KB · Affichages: 42

laetitia90

XLDnaute Barbatruc
Re : Copie de données entre deux feuilles par macro

rer, essai comme cela pas simplifier mais bon!!

Code:
Sub es()
Dim c As Range, a As Variant
With Feuil1
For Each c In .Range("a2", .Cells(Rows.Count, "a").End(xlUp))
With Feuil2
 Set a = .[a:d].Find(What:=c.Value, LookIn:=xlValues, LookAt:=xlWhole)
 If a Is Nothing Then
 Else
 c.Offset(0, 1) = a.Offset(0, 1)
End If: End With: Next: End With
End Sub

attention je cherche sur les 4 premieres colonne [a:d]..... adapte
 

laetitia90

XLDnaute Barbatruc
Re : Copie de données entre deux feuilles par macro

re,:):) en regardant de plus prés dans ton cas vu que tu appel la macro avec un shape ,bouton , autre bref... de la feuil active dans ton cas Feuil1 on peut simplifier comme cela


Code:
Sub es()
  Dim c As Range, a As Variant
  For Each c In Range("a2", Cells(Rows.Count, "a").End(xlUp))
  Set a = Feuil2.[a:d].Find(What:=c.Value, LookIn:=xlValues, LookAt:=xlWhole)
  If Not a Is Nothing Then c.Offset(0, 1) = a.Offset(0, 1)
  Next
End Sub
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote