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

création de lignes sur différents onglets + recopie de 2ème ligne de chaque onglet

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

J

jeanlouispaf

Guest
Bonjour,

Dans mon classeur, j'ai trois onglets.
Je souhaite qu'en cliquant sur le bouton "Nouveau candidat" :
- une macro me crée une ligne en-dessous de la dernière trouvée dans chaque onglet.
- cette macro recopie sur chaque onglet la 2ème ligne de chaque onglet qui est un modèle avec une formule.
J'ai créé trois macros différentes (une pour chaque onglet) qui s’exécutent automatiquement en cliquant sur "nouveau candidat".
Malheureusement les formules ne se recopient pas.
Merci pour votre aide

Voici le code :

Sub nouvelleligne1()
Dim DLig As Long ' Dernière ligne
' Avec la feuille stagiaire
With Sheets("Stagiaires")
' Trouver la dernière ligne remplie en utilisant la même chose
' que CTRL+Flèche vers le haut
DLig = .Range("B" & Rows.Count).End(xlUp).Row
' Inscrire les formule sur la nouvelle ligne
.Range("A" & DLig + 1).FormulaLocal = "=LIGNE()-2"
.Range("D" & DLig + 1).FormulaLocal = "=B" & DLig + 1 & "&"" ""&C" & DLig + 1
End With
End Sub

Sub nouvelleligne2()
Dim DLig2 As Long ' Dernière ligne
' Avec la feuille stagiaire
With Sheets("Emargement")
' Trouver la dernière ligne remplie en utilisant la même chose
' que CTRL+Flèche vers le haut
DLig2 = .Range("B" & Rows.Count).End(xlUp).Row
' Inscrire les formule sur la nouvelle ligne
.Range("A" & DLig2 + 1).FormulaLocal = "=LIGNE()-2"
.Range("D" & DLig2 + 1).FormulaLocal = "=B" & DLig2 + 1 & "&"" ""&C" & DLig2 + 1
End With
End Sub
Sub nouvelleligne3()
Dim DLig3 As Long ' Dernière ligne
' Avec la feuille stagiaire
With Sheets("Stages")
' Trouver la dernière ligne remplie en utilisant la même chose
' que CTRL+Flèche vers le haut
DLig3 = .Range("B" & Rows.Count).End(xlUp).Row
' Inscrire les formule sur la nouvelle ligne
.Range("A" & DLig3 + 1).FormulaLocal = "=LIGNE()-2"
.Range("D" & DLig3 + 1).FormulaLocal = "=B" & DLig3 + 1 & "&"" ""&C" & DLig3 + 1
End With
End Sub

Sub creationstagiaires()
Call nouvelleligne1
Call nouvelleligne2
Call nouvelleligne3
End Sub
 

Pièces jointes

Re : création de lignes sur différents onglets + recopie de 2ème ligne de chaque ongl

Bonjour Jean-Louis, bonjour le forum,

Essaie comme ça :
Code:
Sub creationstagiaires()
Dim o As Object 'déclare la variable o (Onglet)
Dim plv As Integer 'déclare la variable plv (Première Ligne Vide)

For Each o In Sheets 'boucle sur tous les onglets
    plv = o.Cells(Application.Rows.Count, 1).End(xlUp).Row + 1 ''definit la première cellule vide de la colonne A de l'onglet o
    o.Rows(2).Copy o.Cells(plv, 1) 'copie la ligne 2 et la colle dans la première ligne vide
Next o 'prochain onglet de boucle
End Sub
 
Re : création de lignes sur différents onglets + recopie de 2ème ligne de chaque ongl

Avec un peu de retard, merci Robert pour cette excellente réponse qui m'a bien dépanné.
Cela fonctionne nickel.
 
- 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
832
Réponses
4
Affichages
728
Réponses
15
Affichages
931
Réponses
3
Affichages
844
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…