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

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

  • Valeur_Feuil1.xlsm
    15.9 KB · Affichages: 10
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+

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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.
 

Totoscarp

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

Totoscarp

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

  • Valeur_Feuil1.xlsm
    16.6 KB · Affichages: 5

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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 :)
 

Jacky67

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

  • Valeur_Feuil1 .xlsm
    18.7 KB · Affichages: 6

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
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,
 

job75

XLDnaute Barbatruc
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+
 

Discussions similaires

Réponses
2
Affichages
218

Statistiques des forums

Discussions
313 112
Messages
2 095 392
Membres
106 263
dernier inscrit
xxSDe