Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Si la valeur de A2 est fixée lorsque A1 est différent de "repos", tu peux écrire dans A2 :
=SI(A1<>"repos";"Valeur fixée"; "")
Si la valeur de A2 est libre, tu vas devoir passer par une procédure VBA pour effacer son contenu.
Tu peux également "tricher" et utiliser une MFC afin que la couleur de police soit identique à la couleur de fond, la cellule semblera alors être vide. Mais dans ce cas, le contenu n'est pas supprimé.
alors du coup A2 est libre, la valeur change régulièrement, jai bien fait une règle MFC pour masquer mais j'ai besoin que la cellule soit vide car elle incrémente un autre compteur..
Du coup si une bonne âme à une VBA sous le coude , je suis preneur 🙂
effectivement avec un fichier ce sera plus facile à comprendre 🙂 , merci Victor21.
Le fichier est une mise en forme d'un planning qui fonctionnera en final en macro, mais pour ma question j'ai extrait qu'un onglet, celui qui me pose problème.
Il y a dans la colonne P des horaires qui correspondent à des chiffres mais parfois j'ai des CA (congés) qui sont inscrit et c'est ces cellules que je voudrait vider avec la cellule qui correspond en face, en sachant que les cellules CA ne sont jamais les même.
En Bref par exemple si en P15 j'ai CA alors en O15 j'ai un chiffre et je veux que les cellules soient vidées P15 et O15 soient vidées.
Pas sûr d'avoir compris la logique de votre fichier, ni votre but.
A tout hasard, en O3, à recopier vers le bas :
=(LIGNE()-2)*ESTNUM(1*GAUCHE(P3;1))
renverra 0 (facile à masquer avec un format de nombre personnalisé : "0;;") si le 1er caractère de P n'est pas un chiffre.
En langage recodé, je comprends que tu veux effacer les cellules Ox: Px si Px contient "CA".
Essaie cette macro et dis-nous si cela correspond à ton attente.
VB:
Sub Test()
Dim Cel As Range
For Each Cel In Range("P3:P" & Range("P" & Rows.Count).End(xlUp).Row)
If Cel = "CA" Then Cel.Offset(, -1).Resize(, 2).ClearContents
Next Cel
End Sub
🙂 oui tu m'as bien décodé ;-), impeccable cela fonctionne, du coup je l'ai fait évoluer pour ajouter des COM, COMP, repos
mais l'execution du fichier s'arrête dés qu'il rencontre #N/A, j'ai trouvé un formule mais j'ai un bug d'excecution.
Sub Test()
Dim Cel As Range
For Each Cel In Range("P3:P" & Range("P" & Rows.Count).End(xlUp).Row)
If Not IsError(Cel) Then
If Cel = "CA" Then Cel.Offset(, -1).Resize(, 2).ClearContents
If Cel = "COM" Then Cel.Offset(, -1).Resize(, 2).ClearContents
If Cel = "COMP" Then Cel.Offset(, -1).Resize(, 2).ClearContents
If Cel = "repos" Then Cel.Offset(, -1).Resize(, 2).ClearContents
Else
Cel.Offset(, -1).Resize(, 2).ClearContents
End If
Next Cel
End Sub
Bravo Frangy , merci @ vous pour la rapidité . Je ne suis pas expert mais j’apprends beaucoup grâce à vous.
Cela marche à la perfection
Merci encore
@ bientôt
- 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