Copier des données à la fin d'un tableau sur un autre onglet
Ambrita83
-
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
PHILOU10120 Messages postés 6445 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerai qu'à chaque fois que je valide un BL, les articles de celui-ci apparaissent en sortie de stock sur un autre onglet.
Je souhaite plus précisément copier les données des cellules A18 à A38 et E18 à E38 d'un onglet "BL", sur la dernière ligne vide d'un tableau dans les colonnes C et F d'un onglet "Entrées et Sorties".
J'ai testé plusieurs codes mais je ne parviens jamais au résultat escompté...
Ma dernière tentative est la suivante:
Sub Stocks()
Sheets("Entrées et Sorties").Select
Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=IF(BL!R[11]C[-2]="""","""",BL!R[11]C[-2])"
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = "=IF(RC[-3]="""","""",BL!R[11]C[-1])"
ActiveCell.Application.CutCopyMode = False
Selection.EntireRow.Select
Selection.Copy
Range(ActiveRow, ActiveRow.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Columns("C:F").Select
Selection.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Merci d'avance pour votre aide!
J'aimerai qu'à chaque fois que je valide un BL, les articles de celui-ci apparaissent en sortie de stock sur un autre onglet.
Je souhaite plus précisément copier les données des cellules A18 à A38 et E18 à E38 d'un onglet "BL", sur la dernière ligne vide d'un tableau dans les colonnes C et F d'un onglet "Entrées et Sorties".
J'ai testé plusieurs codes mais je ne parviens jamais au résultat escompté...
Ma dernière tentative est la suivante:
Sub Stocks()
Sheets("Entrées et Sorties").Select
Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Select
ActiveCell.FormulaR1C1 = "=IF(BL!R[11]C[-2]="""","""",BL!R[11]C[-2])"
ActiveCell.Select
Selection.Copy
ActiveCell.Offset(0, 2).Select
ActiveCell.FormulaR1C1 = "=IF(RC[-3]="""","""",BL!R[11]C[-1])"
ActiveCell.Application.CutCopyMode = False
Selection.EntireRow.Select
Selection.Copy
Range(ActiveRow, ActiveRow.End(xlUp)).Select
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Columns("C:F").Select
Selection.Copy
Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
Merci d'avance pour votre aide!
A voir également:
- Copier des données à la fin d'un tableau sur un autre onglet
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Rouvrir un onglet fermé - Guide
1 réponse
Bonjour Ambrita83
Je ne suis pas spécialiste des macros mais voici comment je pratique pour exécuter ce genre de travail
Nommer le champ A18 : A38 copie_BL_A
et le champ E18 : E38 copie_BL_E
Nommer la cellule titre de la colonne C pour vous en servir de point de départ
Ancre_BL_C et pour la colonne F Ance_BL_F
Sheets("BL").Select
Application.Goto Reference:="copie_BL_A"
Selection.Copy
Sheets("Entrées et Sorties").Select
Application.Goto Reference:="Ancre_BL_C"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("BL").Select
Application.Goto Reference:="copie_BL_E"
Selection.Copy
Sheets("Entrées et Sorties").Select
Application.Goto Reference:="Ancre_BL_F"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
J'espère que cela vous aidera
Je ne suis pas spécialiste des macros mais voici comment je pratique pour exécuter ce genre de travail
Nommer le champ A18 : A38 copie_BL_A
et le champ E18 : E38 copie_BL_E
Nommer la cellule titre de la colonne C pour vous en servir de point de départ
Ancre_BL_C et pour la colonne F Ance_BL_F
Sheets("BL").Select
Application.Goto Reference:="copie_BL_A"
Selection.Copy
Sheets("Entrées et Sorties").Select
Application.Goto Reference:="Ancre_BL_C"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("BL").Select
Application.Goto Reference:="copie_BL_E"
Selection.Copy
Sheets("Entrées et Sorties").Select
Application.Goto Reference:="Ancre_BL_F"
Selection.End(xlDown).Select
ActiveCell.Offset(1, 0).Activate
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
J'espère que cela vous aidera