Interruption du programme et MFC non applicable

  • Initiateur de la discussion Initiateur de la discussion apt
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

apt

XLDnaute Impliqué
Bonjour à tous,


Lors du test de mon programme, j'ai du relevé quelques problèmes :


1 - Parfois ça ne marche pas à tous les coups et je me trouve dans l'obligation d'aller sur l'éditeur VBE ensuite faire Ctrl + G et écrire :

Code:
Application.EnableEvents = True
Pour poursuivre les tests.


2 - La MFC ajouter automatiquement lors de la création des feuilles n'est pas appliquer du tout !

Enfin s'il y'a des modifications à apporter, qu'elles soient les bien venues. 😀


Edit :

3-La liste nommée ListeASL est définie comme ceci :

Code:
=DECALER(BD!$P$6;;;NBVAL(BD!$P6:$P100))

Mais après vérification elle change ainsi :

Code:
=DECALER(BD!$P$6;;;NBVAL(BD!$P4:$P198))

Parfois

Code:
=DECALER(BD!$P$6;;;NBVAL(BD!$P25:$P219))

Parfois d’autres définitions.

Qui fait changer ces différentes définitions ?

Merci d'avance.
 

Pièces jointes

Dernière édition:
Re : Interruption du programme et MFC non applicable

J'ai ajouté :

Code:
xlPasteValuesAndNumberFormats

au lieu de

Code:
xlPasteValues

Pour copier le formatage des nombres de la premièere colonne.

Une question :

Est-ce que je peux appliquer une MFC dans la feuille BD, pour les lignes existantes (par exemple j'en ai 10) et à chaque fois que j'ajoute une nouvelle (11, 12, 13 ...) la même MFC est appliquée ?

Merci.
 
Re : Interruption du programme et MFC non applicable

Bonsoir apt, MichD,

Plutôt que déposer les fichiers sur cjoint.com, mettez-les sur le fil.

Ce n'est quand même pas sorcier, et ça évitera d'agacer tout le monde.

En plus les sites de dépot peuvent disparaître (comme cijoint.fr).

A+
 
Re : Interruption du programme et MFC non applicable

J'ai ajouté une ligne de code, quand tu copies les données vers une autre feuille, le format de la colonne A:A de la nouvelle feuille aura celui de la feuille BD. http://cjoint.com/?AKApZMoTMZy
Dans les options d'Excel, tu coches l'option : "Étendre les formules et formats de la plage de données". Dès que tu rajouteras une ligne Excel copiera tout seul le format et formule de la ligne précédente vers la nouvelle ligne. Cela s'applique dès la 4 ième ligne du tableau.
Pour les 3 premières lignes, il faut le faire manuellement le temps qu'Excel réalise la séquence.
En conséquence, je ne vois pas pourquoi tu devrais utiliser une mise en forme conditionnelle pour cela.

Si tu veux t'assurer que cette option est toujours en place quand tu ouvres ton fichier, dans le ThisWorkbook du fichier, tu ajoutes :
'-------------------------
Private Sub Workbook_Open()
Application.ExtendList = True
End Sub
'-------------------------
 
Re : Interruption du programme et MFC non applicable

Salut MichD,

J'ai ajouté une ligne de code, quand tu copies les données vers une autre feuille, le format de la colonne A:A de la nouvelle feuille aura celui de la feuille BD. [/QUOTE]
Ca marche très bien ta solution.

Mais qu'y a t-il d'inconvénient dans
Code:
xlPasteValusAndNumberFormat


Dans les options d'Excel, tu coches l'option : "Étendre les formules et formats de la plage de données". Dès que tu rajouteras une ligne Excel copiera tout seul le format et formule de la ligne précédente vers la nouvelle ligne. Cela s'applique dès la 4 ième ligne du tableau.
Pour les 3 premières lignes, il faut le faire manuellement le temps qu'Excel réalise la séquence.
Elle est déjà activée.

En conséquence, je ne vois pas pourquoi tu devrais utiliser une mise en forme conditionnelle pour cela.

La mise en forme vient appliquer une couleur+quadrillage pour les lignes paires, et seulement le quadrillage pour les lignes impaires.

Parce que j'ai masqué le quadrillage de toutes les feuilles.
Une question :

Pourquoi la liste extraite P5 😛100 ne contiendra qu’une seule ligne après l’événement WorkSheet_Change ?
Merci.
 

Pièces jointes

Dernière édition:
Re : Interruption du programme et MFC non applicable

Bonjour,

Dans la première section de la procédure, avant la section des mise en forme conditionnelle, tu as ces 2 lignes de code :

| [A5:G5000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[P5], Unique:=True
| [P6😛100].Sort Key1:=[P6]

Quand tu copies les données de ton filtre avancé, tu modifies la mise en forme conditionnelle de la colonne P5😛x
Au lieu de copier vers la plage de destination, tu remplaces cette ligne de code

Range("A5:G5000").AdvancedFilter....

Par
'-------------------------
With Range("A5:G5000")
.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
.SpecialCells(xlCellTypeVisible).Copy
End With
Range("P5").PasteSpecial xlPasteValues
[P6😛100].Sort Key1:=[P6]
'-------------------------
 
Re : Interruption du programme et MFC non applicable

Bonsoir MichD,

J'ai ajouté cette condition :

Code:
CriteriaRange := Empty

au filtre élaboré :

Code:
[A5:G5000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[P5], Unique:=True

et ça devient :

Code:
[A5:G5000].AdvancedFilter Action:=xlFilterCopy, CopyToRange:=[P5], Unique:=True, Criteriarange:=Empty

Réponse tiré de cette réponse :

https://www.excel-downloads.com/threads/liste-dynamique-instable.173836/

😱
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour