MFC en VBA

Bonsoir

Est ce possible d'écrire une MFC dans une macro afin d'éviter un dysfonctionnement.

Ci joint un fichier qui explique le problème

Merci pour l'aide

Ta

Bonjour

La MFC que tu as mise dans ton premier tableau ne me semble pas correct.

Peux-tu expliquer le résultat attendu ?

Bye !

Bonjour

Merci du retour

Pas à pas détaillé, du problème dans le nouveau fichier . En fait la MFC s'enlève de la cellule....je voudrais pouvoir la bloquer pour pouvoir effectuer des "glissés" comme indiqué.

Il semblerait que quelque soit la MFC ce problème arrive....

Bonne matinée

TA

Bonjour

A noter que quand tu déplaces une cellule, cela

  • vide l'emplacement d'origine de toute information et format (dont MFC)
  • place à l'emplacement de destination contenu et format (dont MFC)en interprétant les formules de contenu, de validation, de MFC... le cas échéant

Donc une MFC ne peut pas fonctionner correctement.

Il faut donc coder mais ce n'est pas si simple selon que tu déplaces ou copie ou fait d'autres manips...

Déjà il faut préciser si la coloration doit se limiter à l'intérieur du tableau C5:F13 ou non.

Bonjour

Merci pour le retour.

Je souhaite que la coloration se fasse uniquement dans le tableau C5 F13 ( mais si c'est sur toute la feuille et plus simple de conception , ça ne me gêne pas)

Pour les manips:

Je déplace les valeurs à l'intérieur du tableau. ("glissé"). Je prends aussi des valeurs dans le tableau du bas pour mettre dans le tableau C5:F13 (toujours en glissant)

Pas facile, c'est vrai ...

Ta

Bonjour

Ceci semble fonctionner...

Bonsoir

Merci, c'est super ... le petit ficher fonctionne....je n'ai plus qu'à essayer de le mettre en place dans mon projet.

Mais Wouah....c'est vrai que c'est assez complexe.

Par contre, un petit soucis. En A1, je mets un menu déroulant afin de sélectionner A , B ou C ou rien

J'aimerais que la couleur des A s'enlève si je sélectionne une autre lettre en A1 et idem pour les autres lettres. Si dans le menu déroulant je ne mets rien , plus de couleur et que je puisse remplir mon tableau avec n'importe quel lettre ou chiffre car actuellement c'est bloqué me semble t il

Pas trop difficile ??

En tous les cas , merci beaucoup pour cette première avancée.

TA

Re

J'ai modifié et complété.

Il y a 2 plages nommées en plus de A

NB : On peut déplacer plusieurs cellules identiques mais pas un mélange de cellules différentes

Bonjour

Merci pour le temps passé et pour ce nouveau retour.

Je joins mon fichier qui se rapproche de mon projet car je rencontre quelques bug avec l'ajout de la nouvelle macro.

Je voudrais simplifier au maximum mais pas évident avec la MFC qui ne fonctionne pas correctement.

Merci encore et bonne journée

Cdt

Ta

21glisse-et-mfc.xlsm (43.15 Ko)

Bonjour

Comme trop souvent sur les forums, la demande et l'exemple ne correspondent pas à la réalité.

Du coup on répond à une demande qui rapidement entraîne un "Ça marche mais j'ai oublié de dire que ..."

Puis ensuite vient le cas réel qui n'a plus rien à voir !

Pour répondre aux points énumérés dans ton dernier classeur :

Sauf que dans les exemples fournis les valeurs que l'on glissait étaient les mêmes que dans la liste déroulante de choix alors que là elles n'ont plus rien à voir !

Actuellement si je prends une valeur et que je la glisse (avec la nouvelle macro) je n'obtiens plus directement les recupérations de données à droite et à gauche de cette valeur. Je suis obligé de la glisser une seconde fois dans le tableau.

Il faudrait placer ton code après le traitement du glisser/déplacer pas avant et en utilisant Dest et non Target pour que cela fonctionne !

(A noter que le for each fonctionne en cas de cellule unique ou multiples, donc inutile de mettre 2 codes…

2) Si je glisse plusieurs valeurs à la fois , elle se transforment toute en un même nom, avant non ???

Je l'avais signalé dans mon post d'Hier, 21:15

3) Si je veux rentrer du texte dans le tabeau , il n'est pas prix en compte, il s'efface.

Effectivement mais à aucun moment tu n'as parlé d'autre façon de remplir le tableau que de glisser/déplacer.

L'événement Change d'Excel ne permet pas de savoir si tu saisis, si tu copies ou si tu glisses/déplaces.

On peut juste constater le changement de valeur. J'ai réussi à différencier glisser/déplacer et copie par glisser/déplacer mais il n'y a pas de moyen de différencier un glisser/déplacer d'une cellule du tableau vers une autre cellule du tableau d'une saisie.

D'où l'impossibilité de saisir résultant du traitement du glisser/déplacer

4) Si je grise certaine ligne, lors d'une selection en C8, la couleur s'efface.

Ta demande était "J'aimerais que la couleur des A s'enlève si je sélectionne une autre lettre en A1 et idem pour les autres lettres"

Il n'était pas mentionné qu'il pouvait y avoir d'autres mentions que celles de la liste ni a fortiori de couleur associée…

Pour résumer, le cas réel n'ayant plus grand chose à voir avec l'exemple fourni, il faudrait tout remettre à plat en listant bien tous les tenants et les aboutissants et tout recoder.

Ayant déjà passé pas mal de temps sur ton cas pour rien finalement, je laisse à d'autres le soin de reprendre le PB...

A mon avis le changement en temps réel type MCF devient une gageure dans ton cas : un bouton appelant le code de coloration serait plus approprié.

Rechercher des sujets similaires à "mfc vba"