XL 2010 Résolu par DoubleZéro : MCF qui multiplie les MCF

  • Initiateur de la discussion Initiateur de la discussion Usine à gaz
  • 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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
en ajoutant également des lignesRe-Bonjour à toutes et à tous,

j'ai encore une question en ce jour de 1er mai.
Il y a longtemps que "ça me turlupine" et aujourd'hui ça m'énerve plus que d'habitude.

Depuis longtemps, mes recherches n'ont jamais abouti.

c'est un souci de MCF comme le titre l'indique
Photo ci-dessous
Sans titre.jpg

Comme vous le voyez, pour la même cellule (et c'est pareil dans toutes mes cellules) les MFC se multiplient alors qu'il me semblerait normal que seule la première ligne de condition figure pour la cellule concernée.

Mais "Paf", à chaque ajout, ça en rajoute en ajoutant également des lignes dans la MFC 😡

Je ne sais pas quelles sont les conséquences : peut-être entre autres la taille du fichier ???

A partir de ma première cellule de chaque colonne, j'ai tenté de copier le format en enlevant le "$" et bien d'autres essais sans succès.

Auriez-vous la solution ?
Avec mes remerciements,
Amicalement,
Lionel,
 
Bonjour,

C'est ce dont je parlais dans un autre fil de discussion il y a peu.
La conséquence chez moi était un temps de traitement incroyablement allongé (plus de 5 heures, si je me rappelle bien) au lieu d'un traitement instantané.
J'ai donc tout supprimé et refait le minimum de MFC.

Sur un autre fichier plus ancien, je crois que je refaisais les MFC d'un tableau par macro à chaque ajout ou suppression de ligne.
 
Si tu as une macro pour supprimer une ligne ou une macro pour ajouter une ligne, ce serait là qu'il faudrait supprimer puis recréer les MFC de ton tableau.

S'il y a une autre solution, beaucoup plus simple, je suis bien sûr preneur car j'ai exactement le même problème. 🙁
 
Bonsoir DoubleZéro,

Encore un Grand Merci pour m'avoir répondu 🙂
Je crois, effectivement, comme le disait aussi Marcel que la seule solution pour que ce soit "propre" est de faire les MFC par macro.
Je vais donc m'inspirer de votre fichier.
Amicalement,
Lionel,
 

Pièces jointes

DoubleZéro, DoubleZéro .... Magicienne OUI LOL.
ça c'est super vraiment.
Un grand merci encore pour votre gentillesse et certainement le temps passé.
Viens vite voir ça Marcel LOL !!!
Je pense que ce fichier servira à Marcel et à beaucoup d'entre nous ...... et d'ailleurs 😉
Re-Merci.
Bonne fin de journée.
Amicalement,
Lionel,
 
Effectivement ça marche bien, mais ça ne correspond pas à ce que tu avais demandé, et pas non plus à ce que je recherche.

Dans ce dernier fichier proposé, c'est une simple copie de cellule.
C'est ce que j'utilise pour un planning que j'ai fais : la personne voulant modifier le planning en question commence par sélectionner toutes les cellules qu'elle veut, puis ma macro va retenir parmi celles-ci uniquement celles appartenant au tableau du planning, puis dans le menu contextuel la personne choisi le type de journée (permanence, travail normal, repose, maladie, garde d'enfant malade, etc.) et ma macro va alors copier la cellule correspondante d'une feuille cachée contenant les mises en forme de chaque type de jour, et enfin ma macro va coller cette cellule dans toutes les cellules retenues précédemment.
 
Dernière édition:
Bonjour DoubleZéro,
Bonjour Marcel,
Bonjour Le Forum,

OUI Marcel, le classeur de DoubleZéro ne répond pas directement à ma demande mais, comme toi, je n'ai pas de solution et personne ne semble avoir trouvé.

Le travail de DoubleZéro (matérialisé par son fichier) répond à mon souci d'une autre façon mais cette réponse est super bien construite et surtout, je la comprends.

Comme je te l'avais écrit, j'étais réticent à une solution par macro, pensant que cela compliquerait sérieusement mon fichier ce qui, me semble-t-il, n'est pas le cas avec la solution de DoubleZéro.

C'est pour cela que je considère que cette option par macro répond à mon souci de MFC.

Bonne journée à toutes et à tous.
Amicalement,
Lionel,
 
Re-Bonjour à toutes et à tous,

En intégrant le code du fichier de DoubleZéro dans mon fichier de travail, j'ai un conflit que je ne sais pas résoudre :

Voici le code à intégrer
Code:
Private Sub Worksheet_Change(ByVal c As Range)
    Dim cc As Range
    With Sheets("Couleur"): .Range(.Range("a1"), .Range("a1").End(xlDown)).Name = "mfc": End With
    If c.Count > 1 Then Exit Sub
    Set cc = Sheets("Couleur").Range("mfc").Find(c.Value, LookIn:=xlValues, lookat:=xlWhole)
    If Not cc Is Nothing Then
        Application.EnableEvents = False
        cc.Copy Destination:=c
        Application.EnableEvents = True
    End If
    If c = "" Then
        Application.EnableEvents = False
        Sheets("Couleur").Range("a" & Rows.Count).End(xlUp)(2).Copy c
        Application.EnableEvents = True
    End If
End Sub

Qui entre en conflit "nom ambigu" détecté" avec : Private Sub Worksheet_Change(ByVal Target As Range)

Une solution ?
Un grand Merci par avance,
Amicalement,
Lionel,
 
Bonjour

Tu sembles, sur le coup, avoir oublié la règle fondamentale : « 1 macro : 1 nom, 1 nom : 1 macro !» .

Tu devrais essayer d’inclure le code* sans Private Sub Worksheet_Change(ByVal c As Range) ni End Sub dans ta première macro.

*repris, allégé (mais en gardant le noms des variables) ici :
VB:
  Dim mfc As Range, cc As Range
  If c.Count > 1 Then Exit Sub
  With Sheets("Couleur")
  Set mfc = .Range(.Range("a1"), .Range("a1").End(xlDown))
  Set cc = mfc.Find(c, LookAt:=1)
  Application.EnableEvents = False
  If Not cc Is Nothing Then cc.Copy c
  If c = "" Then .Range("a" & Rows.Count).End(xlUp)(2).Copy c
  Application.EnableEvents = True
  End With

En faisant attention d’avoir remplacé tous les "Target" par c comme cela est fait ici !

Nota : je n'ai pas essayé de voir si ce code correspondait à ton désir initial car comme d'habitude tu ne nous donnes pas les éléments pour te fournir une réponse efficace immédiatement !
 
- 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

Discussions similaires

Retour