Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Feuil2 [b2] = Sheets("Feuil1").Cells(ActiveCell.Row, 10)

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

J'espère que vous allez bien 🙂

Je n'arrive pas à bien coder l'action suivante :
Quand je clique sur la Feuil2, la cellule B2 prend la valeur de la Feuil1 de la ligne active cellule colonne J
voici mon chti code qui ne marche pas 😡
VB:
Private Sub Worksheet_Activate()
    [b2] = Sheets("Feuil1").Cells(ActiveCell.Row, 10)
End Sub
Auriez-vous la solution ?
Avec mes remerciements,
Je vous souhaite une belle journée,
lionel,
 

Pièces jointes

Solution
Bonjour Lionel, Totoscarp, Jacky67,

Dans le code de Feuil2 :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Sheets("Feuil1")
    .Activate
    [b2] = .Cells(ActiveCell.Row, 10)
End With
Me.Activate
Application.EnableEvents = True
End Sub
Cela dit pour ce genre d'exercice jamais je n'utilise une cellule active...

A+
Re-Bonjour à toutes et à tous,

Continuant tests et recherches ...
Je m'aperçois que le code suivant fonctionne :
[b2] = Sheets("Feuil1").Range("j6").Value

Mais cela ne correspond pas à mon besoin car j'ai besoin qu'il copie la cellule colonne 10 (J)
de la ligne active :
b2] = Sheets("Feuil1").Cells(ActiveCell.Row, 10).value
que je n'arrive pas à faire fonctionner.
 
Bonjour,

J'ai essayé plusieurs choses sur ton code, j'en suis arrivés à la conclusion que pour copier t'as cellule tu ne doit pas passer par Worksheet_Activate()

je suis passés par une nouvelle macro qui a exactement le même code que toi

VB:
Private Sub test()
   Sheets("Feuil2").Range("b2").Value = Worksheets("Feuil1").Cells(ActiveCell.Row, 10).Value
End Sub

je ne sais pas pourquoi le worksheet_Activate entraîne ce problème..
étant moi même un débutant en VBA.

j'éspère t'avoir aidé.
Bonne après-midi
 
Re,

Je crois avoir compris, le ActiveCells prends sur ta feuille active (même si tu précise quelle feuille tu veux)

ton code essaye donc de copier une case vide.

Pour que ton code fonctionne, tu dois le mettre sur ta feuille 1 et non sur la feuille 2

Bonne après-midi
 

Pièces jointes

Bonjour Totoscarp,
Merci pour m'avoir répondu mais ça ne correspond pas à mon besoin car j'ai besoin que le code s'exécute quand :
Private Sub Worksheet_Deactivate()
Sheets("Feuil2").Range("b2") = ""
Sheets("Feuil2").Range("b2") = Sheets("Feuil1").Cells(ActiveCell.Row, 10).Value
End Sub
Je continue mes recherches,
lionel 🙂
 
Bonjour,
Une proposition avec une variable public
 

Pièces jointes

Bonjour, Jacky67,
Merci à toi pour ce code qui fonctionne super bien 🙂

Mon "usine à gaz" est déjà bardée de codes et j'aurais aimé en ajouter le moins possible.
C'est pour cela que si solution il y a, je préfère :
VB:
Private Sub Worksheet_Deactivate()
Sheets("Feuil2").Range("b2") = ""
Sheets("Feuil2").Range("b2") = Sheets("Feuil1").Cells(ActiveCell.Row, 10).Value
End Sub

Mais si pas de solution, je prendrai ton code.
Un grand merci à toi ;à
lionel,
 
Bonjour Lionel, Totoscarp, Jacky67,

Dans le code de Feuil2 :
VB:
Private Sub Worksheet_Activate()
Application.ScreenUpdating = False
Application.EnableEvents = False
With Sheets("Feuil1")
    .Activate
    [b2] = .Cells(ActiveCell.Row, 10)
End With
Me.Activate
Application.EnableEvents = True
End Sub
Cela dit pour ce genre d'exercice jamais je n'utilise une cellule active...

A+
 
- 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
4
Affichages
590
Réponses
3
Affichages
833
Réponses
3
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…