VBA : Maccro extraire sur une autre feuille si couleur...

Résolu
pnppl2203 Messages postés 2 Statut Membre -  
pnppl2203 Messages postés 2 Statut Membre -
Bonjour a tous,
J'a une base données ou un certain type de données est de couleur ColorIndex 36 et mis de cette couleur a la main (pas conditionnelle). Je dois extraire de ce type de données certains éléments cependant quand je rentre la formule suivante cela ne m'extrait qu'une dizaine de lignes n’étant même pas de la bonne couleur. C'est ma condition de If qui ne fonctionne pas ? (les numéros de colonne sont justes) Help please

Sub test ()
Dim ligne_valeur As Integer
ligne_affichage = 4
For ligne_valeur = 1 To 4200

If Sheets("PLANNING").Cells(ligne_valeur, 18).Interior.ColorIndex = 36 Then
Sheets("RETARDS").Cells(ligne_affichage, 2) = Sheets("PLANNING").Cells(ligne_valeur, 1)
Sheets("RETARDS").Cells(ligne_affichage, 3) = Sheets("PLANNING").Cells(ligne_valeur, 2)
ligne_affichage = ligne_affichage + 1
Else
End If
Next valeur

End Sub

Merci.

1 réponse

  1. Utilisateur anonyme
     
    Bonjour pnppl2203,

    Le code VBA ci-dessous devrait aller, mais ATTENTION : c'est bon tel que
    si ligne_affichage ne dépassera JAMAIS 32 767 lignes ; sinon, tu dois
    remplacer ligne_affichage As Integer par ligne_affichage As Long :
    ça pourra alors aller jusqu'à 2 147 483 647 lignes.

    
    Option Explicit
    
    
    Sub test()
    
      Dim ligne_valeur As Integer, ligne_affichage As Integer: ligne_affichage = 4
      
      With Worksheets("PLANNING")
      
        For ligne_valeur = 1 To 4200
    
          If .Cells(ligne_valeur, 18).Interior.ColorIndex = 36 Then
            Worksheets("RETARDS").Cells(ligne_affichage, 2) = .Cells(ligne_valeur, 1)
            Worksheets("RETARDS").Cells(ligne_affichage, 3) = .Cells(ligne_valeur, 2)
            ligne_affichage = ligne_affichage + 1
          Else
            ' N'oublies pas de compléter cette partie (s'il y en a une) !
            ' sinon, supprime la ligne du Else ci-dessus, et aussi ces
            ' 3 lignes de commentaires.
          End If
    
        Next ligne_valeur
      
      End With
    
    End Sub
    
    

    Les lignes #15 et #16 doivent être sur une seule ligne ;
    de même pour les lignes #17 et #18.

    Si ton problème est réglé, merci d'aller en haut de page
    pour cliquer sur « Marquer comme résolu. »

    Cordialement.  😊
     
    0
    1. pnppl2203 Messages postés 2 Statut Membre
       
      Merci beaucoup !
      0