Problème quand changement de feuille

  • Initiateur de la discussion Initiateur de la discussion cvionauchan
  • 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 !

C

cvionauchan

Guest
bonjour

je suis pas une pro des macros mais j'arrive à bidouiller pour que ca marche.
mais la je bloque (bien que je crois que ca soit très simple à résoudre)

alors j'ai affecté ma macro à un bouton situé sur la feuille nommée "situation précédente" : une partie du code est mis en dessous :
la première partie marche très bien ("EJP n-1")
la deuxieme NON en fait je veux copier sur une autre feuille "situation actuelle"
et la ca ne veux plus marcher (alors que si je change le nom de la feuille de l'avant dernière ligne en "situation précédente" ca marche)

en espérant avoir été clair

d'avance merci

'EJP n-1
Dim nomrech7 As String, cellule7 As Range
nomrech7 = Range("e7")
Set cellule7 = Sheets("feuil1").Range("B38:n38").Find(nomrech7)
adre7 = cellule7.Column
For i = 1 To 12
Sheets("feuil1").Cells(38 + i, adre7).Copy
Sheets("année précédente").Cells(7 + i, 18).Select
ActiveSheet.Paste
Next i

'kwh de l'année n
Dim nomrech4 As String, cellule4 As Range
nomrech4 = Sheets("année actuelle").Cells(6, 5)
Set cellule4 = Sheets("feuil1").Range("B6:n6").Find(nomrech4)
adre4 = cellule4.Column
For i = 1 To 12
Sheets("feuil1").Cells(6 + i, adre4).Copy
Sheets("année actuelle").Cells(7 + i, 15).Select --> c'est la que ca bloque !!!
ActiveSheet.Paste
Next i
 
Re : Problème quand changement de feuille

Bonjour Cvionauchan, bienvenue dans le forum, bonuor le forum,

peut-être comme ça (les modifs en rouge) :
Code:
Dim nomrech7 As String, cellule7 As Range
[COLOR=red]Dim dest As Range 'déclare la variable dest(DESTination)[/COLOR]
Dim nomrech4 As String, cellule4 As Range
nomrech7 = Range("e7")
Set cellule7 = Sheets("feuil1").Range("B38:n38").Find(nomrech7)
adre7 = cellule7.Column
For i = 1 To 12
    [COLOR=red]Set dest = Sheets("année précédente").Cells(7 + i, 18) 'définit la variable dest[/COLOR]
    Sheets("feuil1").Cells(38 + i, adre7).Copy [COLOR=red]dest 'copie et colle[/COLOR]
Next i
'kwh de l'année n
nomrech4 = Sheets("année actuelle").Cells(6, 5)
Set cellule4 = Sheets("feuil1").Range("B6:n6").Find(nomrech4)
adre4 = cellule4.Column
For i = 1 To 12
    [COLOR=red]Set dest = Sheets("année actuelle").Cells(7 + i, 15) 'définit la variable dest[/COLOR]
    Sheets("feuil1").Cells(6 + i, adre4).Copy [COLOR=red]dest[/COLOR] 'copie et colle
Next i
Sinon puisque tu es sur un autre onglet que celui ou se trouve le bouton il faut d'abord sélectionner l'onglet :
Code:
[COLOR=black]Sheets("année actuelle").Select[/COLOR]
puis la plage (sans oublier de preciser le nom de l'onglet avant)
Code:
ActiveSheet.Cell(7+1, 15).Select
que tu peux simplifier avec with et End With.
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
5
Affichages
909
Réponses
5
Affichages
609
O
  • Question Question
Microsoft 365 Problème Exit sub
Réponses
9
Affichages
1 K
omario1995
O
Retour