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

XL 2010 Problème exécution macro VBA

missymanioca

XLDnaute Nouveau
Bonjour à tous, j'ai un soucis dans l'exécution de mes macro sur fichier que j'ai crée pour mon travail.
L'objectif de mon fichier est qu'une fois rempli, on puisse copier coller toutes les informations de la Feuille 1 sur le tableau de la feuille suivante automatiquement, en cliquant sur un bouton. à chaque fois que l'on clique sur le bouton cela rajoute une ligne sur le tableau (avant de copier les informations de la feuille1) et la remet en forme
J'ai fait plusieurs macro, pour copier les valeurs des cases à cocher, des cellules... Lorsque je les exécutes chacune séparément il n'y a pas de soucis, elles fonctionnent, par contre quand je les mets toute ensemble au lieu que mes 2 premières cases à cocher mette les informations dans les cellules A2 et B2, elles vont également sur les cellules A3 et B3, effaçant donc ce qui a été fait précédemment. Les autres cases à cocher et cellules ont l'air de bien fonctionner alors je ne comprend pas...
La macro qui exécute toute mes formules et la Macro "CopierFeuilleClick" :
Sub CopierFeuilleClick()
Call lignenplus2 (macro faite via enregistrement)
Call CopierFeuilleEntretien2 (macro faite via enregistrement)
Call CopieTableau2 (macro faite via enregistrement)
Sheets("Feuille entretien").Select
Call PR
Sheets("Feuille entretien").Select
Call OC
Sheets("Feuille entretien").Select
Call RS
Sheets("Feuille entretien").Select
Call SD
Sheets("Feuille entretien").Select
Call SF
Sheets("Feuille entretien").Select
Call AB
Sheets("Feuille entretien").Select
Call Feuil1.TA
Call Listedéroulante
End Sub

Je joins également le fichier en pièce jointe
J'espère avoir été clair, merci beaucoup pour votre aide !
 

Pièces jointes

  • Saisie entretiens transmission.xlsm
    407.4 KB · Affichages: 14
Solution
oui je viens de voir le pb:
les macros sont affectées aux cases à cocher ==> dès que tu coches, la macro associée est lancée
pour supprimer l'affectation: Clic droit sur la case, affecter macro -supprimer la référence à la macro
à répéter pour toutes les cases à cocher

vgendron

XLDnaute Barbatruc
Hello

en retour ton fichier que je me suis permis de modifier au niveau des macros (une partie seulement)
1) les modules vides ont été supprimés
2) j'ai donné des noms aux modules (certains)
3) j'ai commenté des macros qui n'étaient pas utilisées
4) j'ai modifié ta macro "Clear" qui peut tenir en 5 lignes
5) la macro pour ajouter une ligne vide a été modifiée pour ne pas avoir besoin d'afficher la feuille pour faire le boulot
6) ta macro qui recopie les infos d'une feuille a l'autre a été modifiée: je te laisse regarder le code: tu verra que c'est beaucoup plus lisible
 

Pièces jointes

  • Saisie entretiens transmission.xlsm
    254.7 KB · Affichages: 6

missymanioca

XLDnaute Nouveau
Bon je pense avoir compris le problème ... Une fois que j'ai exécuté ma macro, lorsque je clique sur mes cases à cocher pour enregistrer une nouvelle feuille ça me modifie au même moment mes cases A2 et B2, avant même d'avoir ajouté une nouvelle ligne et exécuté une nouvelle fois ma macro. Alors je ne comprend pas du tout car ce sont les deux seuls groupes de cases à cocher qui me font ça... les autres fonctionnent bien ! On dirait que les cellules sont liées mais je ne vois rien de tout ça ...
 

missymanioca

XLDnaute Nouveau
Merci beaucoup en effet c'est beaucoup plus clair et simple comme ça !
Par contre j'ai toujours mon soucis au niveau de mes deux premières cellules de ma feuille 2 qui se modifient en "instantané"
 

vgendron

XLDnaute Barbatruc
oui je viens de voir le pb:
les macros sont affectées aux cases à cocher ==> dès que tu coches, la macro associée est lancée
pour supprimer l'affectation: Clic droit sur la case, affecter macro -supprimer la référence à la macro
à répéter pour toutes les cases à cocher
 

Phil69970

XLDnaute Barbatruc
Bonjour @missymanioca, @vgendron

On peut raccourcir encore avantageusement la "sub ligneplus2"

VB:
Sub lignenplus2()
With WsDest
    .Rows("2:2").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .Rows("2:2").Interior.PatternColor = 16764057
    .Rows("2:2").Interior.ThemeColor = xlThemeColorDark1
    .Rows("2:2").BorderAround ColorIndex:=0, Weight:=xlThin
    .Rows("2:2").Borders(1).LineStyle = 1
End With
End Sub

@Phil69970
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…