[Excel] - [VB] - Delete Cellules italique

Hergo -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonjour
    essayer en début de procedure
    Application .ScreenUpdating = false
    bonne suite
    0
  2. Hergo
     
    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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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