[Excel] - [VB] - Delete Cellules italique

Bonjour,

J'ai crée une macro qui me permet de supprimer dans des milliers de données d'un classeur uniquement les cellules où l'information est en Italic.

With Sheets("données")
        
    Calculate
    col_mad = .Range("C2").Value
    col_zr = .Range("D2").Value
    col_fin = .Range("E2").Value
    first_col_date = .Range("F2").Value
        
        For i = col_mad + 1 To col_zr - 1
        
            .Cells(4, i).Value = "colonne_vide" & i
        Next
        
        For i = 5 To ligne
        For j = first_col_date To col_mad
    
            cell_color = .Cells(i, j).Font.ColorIndex
            If cell_color = 4 Then
            .Cells(i, j).Value = ""
            End If
    
        Next j
        Next i
        
    End With


Cela fonctionne très bien, mais c'est lent car beaucoup de données.
Quelqu'un aurait il une meilleur façon de faire et surtout ultra rapide, en comprenant les petits paramètres de ma WITH.

En vous remerciant par avance,

3 réponses

  1. bonjour
    essayer en début de procedure
    Application .ScreenUpdating = false
    bonne suite
    0
    1. Bien sur, je vous passe le fait que j'ai bien :

      Application.Cursor = xlWait
      Application.ScreenUpdating = False
      Application.Calculation = xlManual

      Application.Calculation = xlAutomatic
      Application.ScreenUpdating = True
      Application.Cursor = xlDefault
      0
      1. Contributeur
        bonjour,

        en italique ou de couleur verte ?

        je comprend pas comment tu détermines ta zone de recherche ...
        ligne, c'est quoi?
        pourquoi 4 colonnes ?
        Merci d'^tre précis dans ta demande. on a que ce que tu as écris pour essayer de t'aider....

        regarde du coté de la fonction FIND dans l'aide; de plus il a un exemple pour checher dans une zone déterminée
        dans ce cas application cursor et application.calculation sont inutiles

        Si tu as XL>=2007 , il ya peut-etre une solution rapide: insérer tableau et filtrer sur couleur, italiques je ne sais pas)
        Michel
        0