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