Macro pour copier automatiquement a partir feuille crée
Résolu
m-finance80
Messages postés
7
Date d'inscription
Statut
Membre
Dernière intervention
-
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
gbinforme Messages postés 14946 Date d'inscription Statut Contributeur Dernière intervention -
bonjour je suis nouvelle dans ce site et débutante en tout ce qui macro merci de me renseigner sur le code suivant :
j ai crée une macro qui insère une feuille copier "salaire1(2)a partir d'une autre existante "salaire1"mais mon problème est que je doit copier certaine cellule dans un tableau recap existant dans une autre feuille "total salaires"( je veut copier automatiquement les cellules vers ce tableau recap puisque je peut insérer un nombre N de feuille ma macro inséré la feuille ;insère ligne au niveau du tableau recap;copie les donnes mais seulemnt les donnes de la feuille "salaries1(2)"au lieu qui copie les donnes de la feuille "salair1(3);"salaire1(4)...).(rq donnes feuille "salaire1" existe déjà au niveau du tab recap).je sais pas si je doit utiliser une variable mais comment?
voici mon code que j'utilise
Sub Macro1()
Sheets("SALAIRE1").Select
Sheets("SALAIRE1").Copy Before:=Sheets(2)
Sheets("TOTAL SALAIRES").Select
Rows("17:17").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[-14]C[1]"
Range("B17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[-14]C[1]"
Range("C17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[263]C[-1]"
Range("C17").Select
Selection.AutoFill Destination:=Range("C17:AM17"), Type:=xlFillDefault
Range("C17:AM17").Select
End Sub
Merci bien de me trouver un code solution .
j ai crée une macro qui insère une feuille copier "salaire1(2)a partir d'une autre existante "salaire1"mais mon problème est que je doit copier certaine cellule dans un tableau recap existant dans une autre feuille "total salaires"( je veut copier automatiquement les cellules vers ce tableau recap puisque je peut insérer un nombre N de feuille ma macro inséré la feuille ;insère ligne au niveau du tableau recap;copie les donnes mais seulemnt les donnes de la feuille "salaries1(2)"au lieu qui copie les donnes de la feuille "salair1(3);"salaire1(4)...).(rq donnes feuille "salaire1" existe déjà au niveau du tab recap).je sais pas si je doit utiliser une variable mais comment?
voici mon code que j'utilise
Sub Macro1()
Sheets("SALAIRE1").Select
Sheets("SALAIRE1").Copy Before:=Sheets(2)
Sheets("TOTAL SALAIRES").Select
Rows("17:17").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[-14]C[1]"
Range("B17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[-14]C[1]"
Range("C17").Select
ActiveCell.FormulaR1C1 = "='SALAIRE1 (2)'!R[263]C[-1]"
Range("C17").Select
Selection.AutoFill Destination:=Range("C17:AM17"), Type:=xlFillDefault
Range("C17:AM17").Select
End Sub
Merci bien de me trouver un code solution .
A voir également:
- Macro pour copier automatiquement a partir feuille crée
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Cree un compte google - Guide
- Créer un lien pour partager des photos - Guide
- Comment copier une vidéo youtube - Guide
2 réponses
Bonjour,
Comme ceci cela devrait fonctionner si j'ai compris ton projet :
Comme ceci cela devrait fonctionner si j'ai compris ton projet :
Sub Macro1() Dim nom As String Sheets("SALAIRE1").Activate Sheets("SALAIRE1").Copy Before:=Sheets(2) nom = ActiveSheet.Name Sheets("TOTAL SALAIRES").Select Rows(17).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("A17").FormulaR1C1 = "='" & nom & "'!R[-14]C[1]" Range("B17").FormulaR1C1 = "='" & nom & "'!R[-14]C[1]" Range("C17").FormulaR1C1 = "='" & nom & "'!R[263]C[-1]" Range("C17").AutoFill Destination:=Range("C17:AM17"), Type:=xlFillDefault End Sub
Bonjour,
Ce serait bien d'éviter d'écrire tout en majuscules.
Sans insertion, cela écrasera systématiquement la même ligne : quel intérêt ?
Ce serait bien d'éviter d'écrire tout en majuscules.
Sans insertion, cela écrasera systématiquement la même ligne : quel intérêt ?
Bonjour Mr
Car si je veut copier les donnes du tableau "recap salaires" dans un autre tableau il ne prend pas en considération la ligne insérer ex si je fait =A17 dans une autre feuille il la saute en cas insertion automatique il lit la cellule A18 et il laisse la cellule A17...
avez vous une solution pour la lire (la cellule insérer)en cas d'insertion dans un autre tableau .
Le cas idéale pour moi est de faire un tableau vide ou se copie les données automatiquement (sans insertion donc de ligne dans la macro)pour pouvoir ensuite lire ces donnes dans un autre tableau qui contient formule (car si j'opte de faire une autre macro sera un peut complique car le second tableau a plusieurs format ).
Merci infiniment pour votre aide si c'est possible. Sinon Merci Aussi Infiniment.
Car si je veut copier les donnes du tableau "recap salaires" dans un autre tableau il ne prend pas en considération la ligne insérer ex si je fait =A17 dans une autre feuille il la saute en cas insertion automatique il lit la cellule A18 et il laisse la cellule A17...
avez vous une solution pour la lire (la cellule insérer)en cas d'insertion dans un autre tableau .
Le cas idéale pour moi est de faire un tableau vide ou se copie les données automatiquement (sans insertion donc de ligne dans la macro)pour pouvoir ensuite lire ces donnes dans un autre tableau qui contient formule (car si j'opte de faire une autre macro sera un peut complique car le second tableau a plusieurs format ).
Merci infiniment pour votre aide si c'est possible. Sinon Merci Aussi Infiniment.
- BONNE JOURNÉE*
Bonjour,
Comme je n'ai pas le classeur, ni la fonctionnalité recherchée, je n'ai que corrigé le code pour qu'il fonctionne.
Au lieu de faire une insertion, il faudrait mettre ta ligne en fin de tableau.
Comme je n'ai pas le classeur, ni la fonctionnalité recherchée, je n'ai que corrigé le code pour qu'il fonctionne.
Au lieu de faire une insertion, il faudrait mettre ta ligne en fin de tableau.
Sub Macro1() Dim lig As Long, nom As String Sheets("SALAIRE1").Activate Sheets("SALAIRE1").Copy Before:=Sheets(2) nom = ActiveSheet.Name Sheets("TOTAL SALAIRES").Activate lig = Cells(Rows.Count, 1).End(xlUp).Row + 1 Range("A" & lig).FormulaR1C1 = "='" & nom & "'!R[-14]C[1]" Range("B" & lig).FormulaR1C1 = "='" & nom & "'!R[-14]C[1]" Range("C" & lig).FormulaR1C1 = "='" & nom & "'!R[263]C[-1]" Range("C" & lig).AutoFill Destination:=Range("C" & lig & ":AM" & lig), Type:=xlFillDefault End Sub
BONJOUR MR
Merci pour votre réponse et votre compréhension sauf que le dernier code a donner ceci :
=SALAIRE1!B3 =SALAIRE1!C3 =SALAIRE1!$B$280 source insertion
='SALAIRE1 (2)'!B3 ='SALAIRE1 (2)'!C3 ='SALAIRE1 (2)'!B280: la 1ere cellule inserer
='SALAIRE1 (3)'!B4 ='SALAIRE1 (3)'!C4 ='SALAIRE1 (3)'!B281 :la 2em cellule inserer
='SALAIRE1 (4)'!B5 ='SALAIRE1 (4)'!C5 ='SALAIRE1 (4)'!B282 :la 3em cellule inserer
la 1ere cellule inserer est ok
la 2eme ajoute +1
la 3eme ajoute +1 a la 2eme (donc +2).
la solution la 1ere cellule insérer doit être identique avec la 2eme inséré et la 3eme inséré et la N eme insérer.(j'espere qu'il existe une solution).
Merci Mr infiniment pour votre attention et votre aide.
Cordialement.
Merci pour votre réponse et votre compréhension sauf que le dernier code a donner ceci :
=SALAIRE1!B3 =SALAIRE1!C3 =SALAIRE1!$B$280 source insertion
='SALAIRE1 (2)'!B3 ='SALAIRE1 (2)'!C3 ='SALAIRE1 (2)'!B280: la 1ere cellule inserer
='SALAIRE1 (3)'!B4 ='SALAIRE1 (3)'!C4 ='SALAIRE1 (3)'!B281 :la 2em cellule inserer
='SALAIRE1 (4)'!B5 ='SALAIRE1 (4)'!C5 ='SALAIRE1 (4)'!B282 :la 3em cellule inserer
la 1ere cellule inserer est ok
la 2eme ajoute +1
la 3eme ajoute +1 a la 2eme (donc +2).
la solution la 1ere cellule insérer doit être identique avec la 2eme inséré et la 3eme inséré et la N eme insérer.(j'espere qu'il existe une solution).
Merci Mr infiniment pour votre attention et votre aide.
Cordialement.
Bonjour,
Sans le classeur, ni ce qui est souhaité, c'est bien difficile car je ne comprend pas les formules du dernier message. Regardes en supprimant les plages relatives
Sans le classeur, ni ce qui est souhaité, c'est bien difficile car je ne comprend pas les formules du dernier message. Regardes en supprimant les plages relatives
Sub Macro1() Dim lig As Long, nom As String Sheets("SALAIRE1").Activate Sheets("SALAIRE1").Copy Before:=Sheets(2) nom = ActiveSheet.Name Sheets("TOTAL SALAIRES").Activate lig = Cells(Rows.Count, 1).End(xlUp).Row + 1 Range("A" & lig).FormulaLocal = "='" & nom & "'!B3" Range("B" & lig).FormulaLocal = "='" & nom & "'!C3" Range("C" & lig).FormulaLocal = "='" & nom & "'!B280" Range("C" & lig).AutoFill Destination:=Range("C" & lig & ":AM" & lig), Type:=xlFillDefault End Sub
TRÈS BONNE CONTINUATION
JE SUIS TRÈS RECONNAISSANTE.
CORDIALEMENT.
Profite bien de cette fonction.
SI VOUS M'AUTORISER DE POSER UNE AUTRE QUESTION SVP .
JE VEUT SAVOIR SI VOUS POUVEZ M 'INFORMER LE CAS OU POUR LA MÊME FONCTION JE COPIE LES DONNÉES SANS INSERTION DE LIGNE .(TOUT RESTE LE MÊME (AVEC ANNULATION DE L'INSERTION ).
MERCI D'AVANCE &***BONNE JOURNÉE***.