Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1385 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Eviter toutes cellules pattern (rayures diagonales fines)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Eviter toutes cellules pattern (rayures diagonales fines)

n°2271053
ns11
Posté le 08-12-2015 à 11:17:14  profilanswer
 

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
mood
Publicité
Posté le 08-12-2015 à 11:17:14  profilanswer
 

n°2271056
ns11
Posté le 08-12-2015 à 10:04:24  profilanswer
 

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
n°2271057
ns11
Posté le 08-12-2015 à 10:31:20  profilanswer
 

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
n°2271058
gilou
Modérateur
Modzilla
Posté le 08-12-2015 à 11:21:50  profilanswer
 

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é!  --
n°2271059
ns11
Posté le 08-12-2015 à 11:21:03  profilanswer
 

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

n°2271060
gilou
Modérateur
Modzilla
Posté le 08-12-2015 à 11:22:42  profilanswer
 

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é!  --
n°2271061
gilou
Modérateur
Modzilla
Posté le 08-12-2015 à 11:24:30  profilanswer
 

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é!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Eviter toutes cellules pattern (rayures diagonales fines)

 

Sujets relatifs
TextBox alimentant cellules dans deux feuille différentescopier des cellules excel et les ajouter au corps de mail en image
Plus de sujets relatifs à : Eviter toutes cellules pattern (rayures diagonales fines)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR