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

VBA choix feuille spécifique

Pinceel

XLDnaute Nouveau
Bonjour,

J'ai cherché , cherché, et pas moyen de trouver ce qui me correspond, je sais faire les macros en manipulant avec la souris mais je ne connais rien en code VBA donc pour créer cette macro ca reste compliqué pour moi.
Ci joint le tableau d'essai

J'aimerai en cliquant sur le bouton valider, que la macro copie les données des cellules B1,B3,B4,B5,B6 pour aller ensuite les coller après insertion en ligne 2 dans la feuille correspondant à celle sélectionnée en cellule
B2 (alpha,bravo,charlie ou delta) ainsi que dans la feuille "tableau général"

J'aimerai que ces données copiées soient collées en ligne 2 du tableau général ainsi que celui sélectionné en B2 et que les bordures des lignes insérées soient appliquées. J'ai besoin que ces lignes insérées soient toujours en ligne 2 pour avoir les dernières entrées en haut du tableau.

Et pour finir la macro revient effacer toutes les données entrées en colonne B et rester sur cette feuille "menu"

J’espère avoir était clair et précis (pas facile)

Merci d'avance pour votre aide.
 

Pièces jointes

  • Nouveau Feuille de calcul Microsoft Excel.xlsx
    14.2 KB · Affichages: 21
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re

Voici une macro (réalisée en grande partie avec l'enregistreur de macros)
qui semble faire le job
VB:
Sub Recopie()
Application.ScreenUpdating = False
Range("B1,B3:B6").Copy
Sheets([B2].Text).Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Tableau général").Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
Range("B1,B3:B6") = Empty
End Sub
 

Staple1600

XLDnaute Barbatruc
Re,

Et même pas un petit merci *? (*je ne compte pas le merci d'avance du premier message)
Tu as raison la courtoisie c'est dépassé!

Une version au cas où
VB:
Sub Recopie_II()
Dim ws As Worksheet: Set ws = Sheets("Menu")
Application.ScreenUpdating = False
ws.Range("B1,B3:B6").Copy
Sheets([B2].Text).Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Tableau général").Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
ws.Range("B1,B3:B6") = Empty
ws.Activate
End Sub
 

Pinceel

XLDnaute Nouveau
Par contre la ligne s'insère en dessous et j'aimerai l'avoir toujours en première ligne (2) et ensuite revenir sur la page menu. Je sais je suis embêtant mais très important pour la suite de ma conception de tableau.
 

Staple1600

XLDnaute Barbatruc
Re

Comme cela alors?
VB:
Sub Recopie_III()
Dim ws As Worksheet: Set ws = Sheets("Menu")
Application.ScreenUpdating = False
ws.Range("B1,B3:B6").Copy
Sheets([B2].Text).Cells(2, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Tableau général").Cells(Rows.Count, 1).End(3)(2).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
ws.Range("B1,B3:B6") = Empty
ws.Activate
End Sub
 

Pinceel

XLDnaute Nouveau
C'est presque ca Staple juste qu'il faut que la ligne 2 s'insère pour faire descendre celle d'avant. Que ca incrémente en fait et ca sur le tableau sélectionné (alpha etc...) mais aussi sur le tableau général.

Tu vas finir par croire que je le fait exprés , suis vraiment désolé de t’embêter
 

Staple1600

XLDnaute Barbatruc
Re

Donc comme cela alors
VB:
Sub Recopie_IV()
Dim ws As Worksheet: Set ws = Sheets("Menu")
Application.ScreenUpdating = False
Sheets(ws.[B2].Text).Rows("2:2").Insert Shift:=xlDown
Sheets("Tableau général").Rows("2:2").Insert Shift:=xlDown
ws.Range("B1,B3:B6").Copy
Sheets(ws.[B2].Text).Cells(2, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Sheets("Tableau général").Cells(2, 1).PasteSpecial Paste:=xlPasteAll, Transpose:=True
Application.CutCopyMode = False
ws.Range("B1,B3:B6") = Empty
ws.Activate
End Sub

NB: Tu ne m'embêtes pas sinon pourquoi serais-je en train d'écrire ces macros.
 

Discussions similaires

Réponses
9
Affichages
323
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…