Microsoft 365 Copier une ligne d'une feuille vers une autre

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 !

netparty

XLDnaute Occasionnel
Bonjour à tous

J'ai besoin de votre aide, j'ai une macro qui fonctionne dont voiçi le code :

VB:
Sub Ajouter_Départ()

     Sheets("Base").Select
    Rows("3:4").Select
    Selection.Copy
    Sheets("TD ...").Select
   
   
    Range("c" & Rows.Count).End(xlUp).Offset(1, 0).EntireRow.Select
   
    Selection.Insert Shift:=xlDown
   
    Application.CutCopyMode = False


End Sub

Le problème que je rencontre, si je change le nom de ma feuille "TD..." en par exemple "TD numéro 1" cela ne fonctionne plus parce que j'ai définit dans mon code
Code:
Sheets("TD ...").Select

Comment faire pour résoudre cela

Merci d'avance

Bonne journée à tous
 

Pièces jointes

Solution
Bonjour Netparty,
Si le nom des feuilles est appelé à changer, alors utilisez leur indice, il est immuable. Par ex :
VB:
Sub Ajouter_Départ()
    Sheets(2).Rows("3:4").Copy
    Range("c" & Rows.Count).End(xlUp).Offset(1, 0).EntireRow.Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub
Le "Sheets("TD ...").Select" est inutile puisque le bouton étant sur cette feuille, c'est la feuille par défaut.
On peut éviter les select dans Sheet.select Rows.select Selection.copy en faisant :
Sheets(2).Rows("3:4").Copy
Bonjour Netparty,
Si le nom des feuilles est appelé à changer, alors utilisez leur indice, il est immuable. Par ex :
VB:
Sub Ajouter_Départ()
    Sheets(2).Rows("3:4").Copy
    Range("c" & Rows.Count).End(xlUp).Offset(1, 0).EntireRow.Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub
Le "Sheets("TD ...").Select" est inutile puisque le bouton étant sur cette feuille, c'est la feuille par défaut.
On peut éviter les select dans Sheet.select Rows.select Selection.copy en faisant :
Sheets(2).Rows("3:4").Copy
 

Pièces jointes

Bonjour Netparty,
Si le nom des feuilles est appelé à changer, alors utilisez leur indice, il est immuable. Par ex :
VB:
Sub Ajouter_Départ()
    Sheets(2).Rows("3:4").Copy
    Range("c" & Rows.Count).End(xlUp).Offset(1, 0).EntireRow.Select
    Selection.Insert Shift:=xlDown
    Application.CutCopyMode = False
End Sub
Le "Sheets("TD ...").Select" est inutile puisque le bouton étant sur cette feuille, c'est la feuille par défaut.
On peut éviter les select dans Sheet.select Rows.select Selection.copy en faisant :
Sheets(2).Rows("3:4").Copy
Super un grand merci

Bonne journée
 
- 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
10
Affichages
455
Retour