Eviter toutes cellules pattern (rayures diagonales fines)

Eviter toutes cellules pattern (rayures diagonales fines) - VB/VBA/VBS - Programmation

Marsh Posté le 08-12-2015 à 11:17:14    

Bonjour,  
 
Comment indiquer ma maccro que je veux éviter toutes cellules pattern ? (rayures diagonales fines)
 
Je ne sais pas comment l'écrire.
 
Merci d'avance


---------------
Nicolas
Reply

Marsh Posté le 08-12-2015 à 11:17:14   

Reply

Marsh Posté le 08-12-2015 à 10:04:24    

Bonjour à tous !  :)
 
Me voilà bloqué, ce n'est peut-être pas bien difficile mais je suis loin d'être bon en VBA...  :pfff:  
 
Seules les lignes de 19 à 33 nous intéressent.
 
 
- Ma ligne 32 (%Participation obligatoire) est normalement juste. Elle additionne le nombre de cellules remplies ET sur fond jaune (code 44), le tout divisé par la ligne 19, (le nb de collaborateurs mensuel).
- Ma ligne 33 (%Participation mensuelle) doit prendre en compte toutes les cellules codées type (CAU-01-001) (uniquement ce type de texte) qu'il y ai un background jaune ou non.
En effet, on retrouve certaines cellules rayées diagonalement (Pattern). Ces cellules peuvent être remplies du type ("malade", "déplacement" etc). Mais le problème, en mettant du texte autre qu'un code, c'est que ça change ma formule de %Participation mensuelle (ligne 33).
Pour bien faire il faudrait renseigner la macro du fait que, si une cellule est rayées (remplie ou non), elle ne doit pas intervenir dans le calcul de la %Participation mensuelle (ligne 33).
 
NB:[/b] une cellule remplie d'un codage non colorée d'un background est tout de même comptée.
 
Qui arrivera à résoudre ce problème ?  :wahoo:
 
 

Spoiler :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim nombre_participant, nombre_participant_obligatoire, ligne_code As Integer
Dim ligne_debut_participant, ligne_fin_participant, ligne_participation_obligatoire, ligne_participant As Integer
 
 
ligne_code = 4
ligne_debut_participant = 20
ligne_fin_participant = 31
ligne_participation_obligatoire = 32
ligne_participant = 33
 
nombre_participant = 0
nombre_participant_obligatoire = 0
 
For i = 2 To 61
    For j = ligne_debut_participant To ligne_fin_participant
     
        If Worksheets("Suivi 2015" ).Cells(j, i).Interior.ColorIndex = 44 And Worksheets("Suivi 2015" ).Cells(j, i) <> "" Then ' = Worksheets("Suivi 2015" ).Cells(ligne_code, i) Then
            nombre_participant_obligatoire = nombre_participant_obligatoire + 1
        Else
            Worksheets("Suivi 2015" ).Cells(ligne_participation_obligatoire, i) = ""
        End If
           
           
        If Worksheets("Suivi 2015" ).Cells(j, i) <> "" Then
            ligne_participant = nombre_participant + 1
        Else
            Worksheets("Suivi 2015" ).Cells(ligne_participant, i) = ""
        End If
         
         
        If Worksheets("Suivi 2015" ).Cells(j, i) <> "CAU-01-001" Then
            nombre_participant = ""
        Else
            Worksheets("Suivi 2015" ).Cells(ligne_participant, i) = nombre_participant = nombre_participant + 1
        End If
         
             
    Next
     
    If nombre_participant_obligatoire <> 0 Then
        Worksheets("Suivi 2015" ).Cells(ligne_participation_obligatoire, i) = nombre_participant_obligatoire / Cells(19, i)
    Else
    If nombre_participant = 0 Then Worksheets("Suivi 2015" ).Cells(ligne_participation_obligatoire, i) = ""
    End If
     
    If nombre_participant <> 0 Then
        Worksheets("Suivi 2015" ).Cells(ligne_participant, i) = nombre_participant / Cells(19, i)
    Else
    If nombre_participant = 0 Then Worksheets("Suivi 2015" ).Cells(ligne_participant, i) = ""
    End If
     
    nombre_participant = 0
    nombre_participant_obligatoire = 0
                 
    Next
 
 
'Worksheets("Suivi 2015" ).Cells(ligne_participation_obligatoire, 2) = Worksheets("Suivi 2015" ).Cells(20, 2).Interior.ColorIndex
 
End Sub


Message édité par ns11 le 08-12-2015 à 10:23:23

---------------
Nicolas
Reply

Marsh Posté le 08-12-2015 à 10:31:20    

Bonjour à tous,
 
Comment renseigner ma macro de façon à ce qu'une formule comptabilise toutes les cellules à texte de la colonne sauf les cellules rayées (pattern) (que ces cellules soient à texte ou non) ?
 
Vous avez 4 heures  :D


---------------
Nicolas
Reply

Marsh Posté le 08-12-2015 à 11:21:50    

Les sujets suivant ont été fusionnés à ce sujet par Gilou

  • Exo VBA:Ne pas prendre en compte les cellules rayées,avec ou sansTexte
  • VBA: Formules évitant les cellules rayées (avec ou sans texte)


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-12-2015 à 11:21:03    

Bonjour,  
 
Comment indiquer ma maccro que je veux éviter toutes cellules pattern ? (rayures diagonales fines)
 
Je ne sais pas comment l'écrire.
 
Merci d'avance

Reply

Marsh Posté le 08-12-2015 à 11:22:42    

Les sujets suivant ont été fusionnés à ce sujet par Gilou

  • Eviter toutes cellules pattern (rayures diagonales fines)


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 08-12-2015 à 11:24:30    

Au prochain sujet créé pour la même chose, je vais sortir le fouet...
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed