Copie de données entre deux feuilles par macro

  • Initiateur de la discussion Initiateur de la discussion ascarter
  • Date de début Date de début

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 !

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

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

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
 
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
 
- 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

  • Question Question
Microsoft 365 Ajout de données
Réponses
3
Affichages
493
Retour