Bonjour à tous,
Je travaille sur une version excel 2011 avec macro et je fais en sorte qu'elle tourne sur la version 2010 PC. ce qui est le cas pour le moment.
Mais voilà, j'ai commencé à travaillé sur mes macros comme en programmation objet en appelant mes fonctions avec des "call" et peut être que c'est le problème.
Avant de vous montrer le code, je tiens à dire que j'ai testé chaque code indépendamment et que tout fonctionne.
De plus, il suffit que je les appelle dans un ordre différent et le code s'arrête toujours au même endroit dans la macro principale. Même si j'inverse deux sous-programmes.
Exemple (partiel de la macro):
La macro s'arrête à la ligne 16 :mais si je l'inverse (la ligne 14 et 16) avec celle du dessusCall SAVE_JOINTURE("SAISIE_ENTITE")le sous-programme (SAVE_JOINTURE) va s'exécuter et SAVE_ENTITE se bloquera toujours après avoir exécuter le premier sous-programme.Call SAVE_ENTITE("SAISIE_ENTITE")
Je pense que c'est un problème lié au volume des données qui sont copié car dans chaque sous programme je fais beaucoup de copie de données d'un fichier à un autre, avec des tries.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 Définition des variables Dim CellControljointure As Range, CellVerifSaisie As Range, CellVerifSaisieEntite As Range, _ CellVerifSaisieContact As Range Windows("Module_contact.xlsm").Activate Set CellVerifSaisieContact = Sheets("SAISIE_ENTITE").Range("$AA$15") Set CellVerifSaisieEntite = Sheets("SAISIE_ENTITE").Range("$AA$16") Set CellVerifSaisie = Sheets("SAISIE_ENTITE").Range("$AA$18") Set CellControljointure = Sheets("SAISIE_ENTITE").Range("$CD$2") ' Gestion des conditions If CellVerifSaisie.Value = 35 Then Call UNPROTECTION_ONGLET("bdd_contact.xlsx", "bdd_entite") Call UNPROTECTION_ONGLET("bdd_contact.xlsx", "jointure_entite_contact") Call SAVE_ENTITE("SAISIE_ENTITE") If CellControljointure = 1 Then Call SAVE_JOINTURE("SAISIE_ENTITE") End If Call PROTECTION_ONGLET("bdd_contact.xlsx", "bdd_entite") Call PROTECTION_ONGLET("bdd_contact.xlsx", "jointure_entite_contact") End If
Merci de votre retour et idées sur le sujet.
Bien à vous
Partager