Ajouter une conditon dans cette macro...

Christian0258

XLDnaute Accro
Bonjour à tout le forum,

Pourriez-vous me dire comment ajouter une condition dans cette macro, de (Dead78), qui supprime les colonnes dès qu'elle trouve le mot "RH" ...donc je souhaite ajouter "F" dans cette action :

Sub Supprime()
Application.EnableEvents = False
Application.ScreenUpdating = False
For I = 4 To 1 Step -1 'disons les 4 premières lignes
For J = 367 To 1 Step -1 'disons les 367 premières colonnes
If Cells(I, J).Value = "RH" Then ' je souhaite ajouter Or .Value = "F" Then mais je n'y arrive pas ? Columns(J).Delete
End If
Next
Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub

Merci pour votre aide.
Bien à vous,
Christian
 

M12

XLDnaute Accro
Bonjour

Comme ceci peut-être

Code:
Sub Supprime()
Application.EnableEvents = False
Application.ScreenUpdating = False
    For I = 4 To 1 Step -1 'disons les 4 premières lignes
        For J = 367 To 1 Step -1 'disons les 367 premières colonnes
            If Cells(I, J).Value = "RH" Or Cells(I, J).Value = "F " Then Columns(J).Delete
        Next
    Next
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
 

Christian0258

XLDnaute Accro
Re le forum, M12,

Merci, M12, pour ton aide qui fonctionne parfaitement.

Dis-moi, quel code faudrait-il pour effacer le contenu des cellules restantes (suite au traitement de cette macro) si le libellé des ces cellules est listé dans une zone nommée CodExclu...
expl ;
dans la zone nommée j'ai inscrit AM
SYND
FC ect ect
donc la macro vide les cellules, si elle trouve ces codes...

Merci pour ton aide.
Bien à toi,
Christian
 

Christian0258

XLDnaute Accro
Re le forum, M12

Merci, M12, pour le boulot.
j'ai mis ;
Columns(j).ClearContents et non Delete j'efface simplement sans supprimer...

Dis-moi, dans le cas ou il y a un demi-CA (matin ou aprèm) le code différent de CA ne s'efface pas ?

Peux-tu me dire.

Encore merci pour le boulot.

Bien à toi,
Christian
 

M12

XLDnaute Accro
Tu cherches quoi en fait, si c'est CA on n'efface pas et si c'est par ex: 1/2CA on l'efface ?

si tu veut effacer les jours comme 1/2CA et ne garder que CA, remplace par ceci

Code:
Set Cel = Columns(j).Find(what:="CA", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
 
Dernière édition:

Christian0258

XLDnaute Accro
Re, le forum M12

Non les CA sont placés sur la ligne 2 pour le matin
et sur la ligne 3 pour l'après -midi.

Il s'appelle toujours CA

Dans l'exemple du planning il y a ces cas de figure un CA posé le matin et un horaire de travail pour l'après-midi ou tout autre code et inversement un horaire de travail le matin ou tout autre code et un CA l'après-midi . Dans ces deux cas ta macro n'efface pas les horaires ou autres codes des demies-journées...

A te lire,
Bien à toi,
Christian
 
Dernière édition:

M12

XLDnaute Accro
Re,

Dans ce cas

Code:
Sub SupprimerSauf_CA()
    Dim Cel As Range, j%
    Application.EnableEvents = False
    Application.ScreenUpdating = False
    Application.Calculation = xlCalculationManual
        For i = 7 To 3 Step -1
            For j = 368 To 2 Step -1
                If Cells(i, j).Value <> "CA" Then Cells(i, j).ClearContents
            Next
        Next
    Application.Calculation = xlCalculationAutomatic
    Application.EnableEvents = True
    Application.ScreenUpdating = True
End Sub
 

Christian0258

XLDnaute Accro
Re le forum, M12

Je reviens vers vous pour une tite question ;

j'ai besoin des codes après CA, expl (CA/HS) j'ai fait ça sans succès pouvez-vous me dire...

If Cells(i, j).Value <> "CA" Or Cells(i, j).Value <> "(CA/HS)" Then Cells(i, j).ClearContents

Merci pour votre aide.
Bien à vous,
Christian
 

Discussions similaires

Réponses
11
Affichages
285

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16