Mise en forme conditionnelle du contenu entre 2 colonnes

Bonjour chers Excelleurs(ses),

Je suis bloqué ! j'ai besoin de votre aide afin d’établir un code VBA qui va me permettre de :

Colonne "J" : si l'action est "Coturée" ==> automatiquement "URGENT⚠" s'efface "Colonne "K".

Et l'inverse en cas "Non cloturée"

Ci joint mon fichier exemple

Merci pour votre aide

Bonjour,

La fonctionne recherchev semble être la plus pertinente pour ton problème, un code vba ne semble pas nécessaire.

Si tu souhaites vraiment un code vba, je peux te l'adapter, à voir suivant ton besoin.

Maxime.

Merci pour votre réponse ,

Mon fichier est trop gros jai trop de données, recherche v ne sera pas suffisante il me faut un code vba.

Merci

Un petit up pour ma demande d'aide

je suis bloqué

Cordialement

Bonjour,

Voici une solution avec une macro,

Mais sincérement, je pense que c'est plus pratique avec un recherchev.

Bonjour,

si quelques centaines de lignes et si 10e de milliers, il faut un tableau

Option Explicit
Sub Clot()
Dim C, Clott As String
Dim Last&: Last = [J65000].End(xlUp).Row
For Each C In Range("J6:J" & Last)
   Clott = IIf(C = "Non cloturée", "URGENT ?", "Cloturée") ' Police à adapter 
   C.Offset(, 2) = Clott
Next
End Sub

Merci pour votre réponse,

Mais ce n'est pas exactement ce que je voulais,

L'objectif c'est : dés que je change n'importe quelles cellules dans la colonne (J) de "Non cloturée" à "Cloturée" SI la cellule suivante (dans la colonne K) contient URGENT⚠ va disparaître. Mais sans bouton pour lancer la macro, je veux que la macro se lance automatiquement a chaque modification.

Merci infiniment et je suis désolée d'abuser de votre temps

re,

et tu veux ça par macro obligatoirement ou une formule peut convenir ? genre : =SI(J6="Non Cloturée";"Urgent";"")

P.

Non je veux çà par macro

Merci patrick1957

Bonsoir,

J'ai essayé de trouver une solution mais c'a na pas marché,

Sub sc()

Dim cellule As Range

For Each cellule In Range("J1:J1000000")

Select Case cellule.Value

Case "Cloturée"

cellule.Offset(0, 1) = ""

End Select

Next cellule

End Sub

Pourriez vous m'aider SVP

Merci

Bonsoir,

un essai par VBA (c'est la demande je crois),

une surveillance événementielle sur la colonne J, lancement du code suite à un changement de valeur sur cette colonne J.

Test de cette "nouvelle" valeur :

si "Cloturée" alors on efface la valeur de la cellule décalée d'une colonne

Si "Non cloturée" alors on affiche "Urgent?" sur la cellule décalée d'une colonne vers la droite.

Le fichier :

@ bientôt

louReeD

Merci pour votre proposition !

Ca marche super bien, en revanche quand je rajoute le code dans un autre fichier ca me donne (Erreur d'exécution 13 Incompatibilité de type )

Dans le code une ligne est surlignée en jaune mais je ne vois pas ce qui pose problème.

Voici la copie du code. C'est la ligne en gras qui est surlignée en jaune lorsque j'ouvre la modification

capture

c'est peut -être du à une sélection multiple...

Et le =Range(K:K) me semble bizarre non ?

@ bientôt

LouReeD

Oui, je pense mais je n'arrive pas a résoudre ce problème

concernant le =Range(K:K) c'est moi qui a fait cette modif....en suite j'ai supprimer la ligne entière vu quelle me sert a rien ( je veux que la colonne K reste intacte)

Ce qui m’intéresse c'est que à chaque fois j'ai "Cloturée" dans la colonne "J" on efface la valeur de la cellule décalée d'une colonne.

Mais ça me donne tjrs "erreur d'execution 13 type incompatible" et je ne comrend pas prq!!

capture

Merci infiniment

Attention, maintenant ce bout de code est dans SelectionChange et non plus dans Change...

Ce qui veut dire qu'à chaque changement de cellule active vous allez vérifiée si la cellule activée contient la valeur alphanumérique "Non Cloturée", hors il se peut que la cellule sélectionnée soit un chiffre, d'où l'erreur de type...

Le fichier est-il confidentiel ? Sinon alors n'hésitez pas à le mettre ici...

@ bientôt

LouReeD

LouReeD Je vous remercie bcp pour votre aide

Oui le fichier est confidentiel

je vais préparer un fichier exemple tout de suite

Merci

ci joint le fichier avec une proposition de modification :

8pdca.xlsm (309.89 Ko)

(dites moi s'il faut le supprimer d'ici, car au niveau taille ça passe, nul besoin de WinZip...)

La solution ? Ajout en début de votre code de

Application.EnableEvents = False

afin d'arrêter la surveillance événementielle des feuilles du classeur.

Comme cela vous faites votre code et il ne lancera pas le mien...

Ceci dit en regardant de près vous verrez certains ajout de commentaires, de ma part...

Je n'ai pas saisie ce que faisait votre code, mais toujours est-il qu'il fait trop de sélection, trop de saut de page à page etc...

Il serait bon de le reprendre...

@ bientôt

LouReeD

LouReeD!

Je trouve même pas les mots pour vous remercier!

Vous étes un génie ! ca fonctionne super bien !

merci encore !

Ravis que cela vous convienne !

Ceci dit votre code est à revoir

@ bientôt

LouReeD

Rechercher des sujets similaires à "mise forme conditionnelle contenu entre colonnes"