Microsoft 365 reproduire la mise en forme d'un tableau avec VBA

BER6543

XLDnaute Nouveau
Bonjour, j'ai enregistré des macros pour dupliquer un tableau et faire un ajout de ligne.
par contre je souhaiterai exécuter ces tâches Xfois sur la même feuille.
Sub Macro2()
' Macro2 Macro
Columns("A:H").Select
Application.CutCopyMode = False
Selection.Copy
Columns("J:J").Select
ActiveSheet.Paste
End Sub

Sub Macro3()
' Macro3 Macro
Rows("51:51").Select
Selection.Copy
Rows("52:52").Select
ActiveSheet.Paste
End Sub
quelqu'un aurait un code qui m'aiderai à réaliser ma tâche ??
si dessous mon fichier
 

Pièces jointes

  • Classeur8.xlsm
    512.7 KB · Affichages: 3

Phil69970

XLDnaute Barbatruc
Bonjour Staple

Les 2 parties du fichier ne se ressemblant pas du tout je pense qu'il s'agit d'une autre demande sans rapport avec la précédente bien qu'issu du même fichier mais je peux me tromper et Bernadette pourrait peut être nous éclairer.

Certes 'une copie est toujours une copie mais cela élimine au moins 30 % (et peut être plus) de toutes les demandes de ce forum o_O

@Phil69970
 

BER6543

XLDnaute Nouveau
Effectivement @Phil69970 je travaille sur un gros fichier avec plusieurs feuilles de calculs et toutes ne sont pas les mêmes. Merci à tous pour vos retours, ils m'aident énormément dans l'avancée de mon travail.
@Staple1600 je m'excuse si tu as pu penser que je t'ai chafouiné, je cherche juste à être éclairé sur des points d'ombre.
 

BER6543

XLDnaute Nouveau
Bonjour @BER6543

Je te propose ce fichier

Merci de ton retour

@Phil69970
j'ai testé ce code et il marche parfaitement merci énormément par contre j'ai plusieurs fichiers ou je dois répéter cette action. j'arrive à ajouter des colonnes sur les autres fichiers avec le code que tu m'as proposé mais pour ajout de ligne ca ne fonctionne que sur le fichier sur le quel j'ai exprimé mon besoin. Auriez vous un code qui pourrait m'aider à faire un ajout de ligne contenant des mises en forme spécifique (cellule fusionnée, cellule contenant des formules...)

Cordialement,
 

Phil69970

XLDnaute Barbatruc
Re

@BER6543

Il faut adapter le code de mon fichier

VB:
Set Sh1 = Worksheets("Fiche de suivi ") ' ATTENTION IL Y A UN ESPACE APRES SUIVI QUI NE SERT A RIEN

Il faut mettre le nom de ton onglet
Et je le répète dans ton onglet "Fiche de suivi ":
IL Y A UN ESPACE APRES "FICHE DE SUIVI " QUI NE SERT A RIEN sauf à faire des problèmes

==> A vérifier pour les autres feuilles

Je te conseille de le supprimer car source d'erreur potentiel ET évidement il faudra après supprimer l'espace dans le code pour "être raccord" :)

La macro que j'ai faite fonctionne pour la feuille ("Fiche de suivi ") ou j'ai tenu compte de tes lignes fusionnées DE TA FEUILLE (Rappel on peut souvent se passer des cellules fusionnées)

Donc si tu veux l'adapter ailleurs il faut modifier ses 2 ou 3 points en fonction de ta feuille et ligne/colonne à copier (c'est très facile à faire)

Je suis absent pour la journée mais poste la partie de ton fichier si tu n'y arrives pas avec les explications de ce que tu veux faire .

@Phil69970
 

BER6543

XLDnaute Nouveau
Re

@BER6543

Il faut adapter le code de mon fichier

VB:
Set Sh1 = Worksheets("Fiche de suivi ") ' ATTENTION IL Y A UN ESPACE APRES SUIVI QUI NE SERT A RIEN

Il faut mettre le nom de ton onglet
Et je le répète dans ton onglet "Fiche de suivi ":
IL Y A UN ESPACE APRES "FICHE DE SUIVI " QUI NE SERT A RIEN sauf à faire des problèmes

==> A vérifier pour les autres feuilles

Je te conseille de le supprimer car source d'erreur potentiel ET évidement il faudra après supprimer l'espace dans le code pour "être raccord" :)

La macro que j'ai faite fonctionne pour la feuille ("Fiche de suivi ") ou j'ai tenu compte de tes lignes fusionnées DE TA FEUILLE (Rappel on peut souvent se passer des cellules fusionnées)

Donc si tu veux l'adapter ailleurs il faut modifier ses 2 ou 3 points en fonction de ta feuille et ligne/colonne à copier (c'est très facile à faire)

Je suis absent pour la journée mais poste la partie de ton fichier si tu n'y arrives pas avec les explications de ce que tu veux faire .

@Phil69970
Bonjour Phil69970, merci pour tes indications.
Alors en fonction de ce que j'ai à modifier j'ai bien fait attention à ces points et pour des ajouts de lignes toutes simples le code fonctionne. Par contre pour celle avec des mises en forme spécifique ca ne fonctionne pas. je te joins le fichier. j'aurai également quelques ajustements supplémentaires à faire dessus.
Il s'agit de:

onglet PS7-Mesures: A chaque ajout de colonne, la colonne rajoutée s'affiche avec une année N+1 (Ligne 8 du fichier) et que l'ajout de ligne supplémentaire soit également prit en compte lors de l'ajout de colonne.

PS1-Identifiication : Ajout de ligne en respectant la mise en forme de la ligne 5.

PS2-Plan : Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 6 à 9)

PS3-Suivi : Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 5 à 8)

PS4-Actions : ajout de ligne

PS5-Fiche identité : ajout de ligne avec respect de la mise en forme (ligne 8 à 14)

PS8-Mes : sur le deuxième tableau (Mes) Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 24).
Sur le dernier tableau (Mes) Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 35).

Ca en fait beaucoup :), mais j'ai préféré faire une petite synthèse et te remercie une fois de plus pour ton aide.

Bernadette,
 

Pièces jointes

  • TEST AJOUT DE LIGNE.xlsm
    603 KB · Affichages: 2

Phil69970

XLDnaute Barbatruc
Re

@BER6543

Je te propose ce fichier modifié

*Attention devant le festival de cellules fusionnées j'ai supprimé les fusions dans les titres entre autres
1679928376608.gif
==> PS5-Fiche identité


Je te laisse faire :

PS3-Suivi : Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 5 à 8)

PS8-Mes : sur le deuxième tableau (Mes) Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 24).
Sur le dernier tableau (Mes) Ajout de colonne avec prise en compte de l'année de N+1, ajout de ligne avec respect de la mise en forme (ligne 35).

Tu devrais avoir tous les éléments pour faire les 2 derniers ;)

Merci de ton retour

@Phil69970
 

Pièces jointes

  • Copie diverse ligne et colonne V1.xlsm
    632.6 KB · Affichages: 4

BER6543

XLDnaute Nouveau

BER6543

XLDnaute Nouveau
Re

@BER6543

Je te propose ce fichier modifié

*Attention devant le festival de cellules fusionnées j'ai supprimé les fusions dans les titres entre autres
Regarde la pièce jointe 1166874==> PS5-Fiche identité


Je te laisse faire :





Tu devrais avoir tous les éléments pour faire les 2 derniers ;)

Merci de ton retour

@Phil69970
Bonjour Phil69970

J'ai fait le tour du fichier.
Les macros fonctionnent très bien pour les feuilles PS1, PS5, PS4
Par contre je rencontre encore des difficultés sur les autres feuilles.
Feuille PS2:
-L'année s'ajoute bien sauf qu'il prend en compte le contenu de l'année précédente (j'ai juste besoin de la copie de la mise en forme initiale).
-La ligne rajoutée sur l'année N+1 reprend le contenu de la ligne précédente ( juste besoin de la mise en forme de la ligne sans contenu)

Feuille PS7:
- Lors de l'ajout de l'année, la macro ne prend pas en compte la totalité des lignes de l'année N-1
-Ensuite il est impossible de rajouter une ligne .

j'ai eu du mal à comprendre les macros effectuées sur la feuille PS2 pour l'ajout de ligne et de colonne. Du coup j'ai pas pu l'adapter sur les feuilles PS3 et PS8.

Cordialement,
 

Discussions similaires

Réponses
2
Affichages
938

Statistiques des forums

Discussions
312 215
Messages
2 086 333
Membres
103 188
dernier inscrit
evebar