IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

programmation de macro


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut programmation de macro
    bonjour,

    Je souhaite que cette macro me permette de colorer en gris le fond de mes cellules quand "risque acceptable" apparait dans les cellules appelées (i,11).
    Il me semble que ma macro est juste mais je dois avoir oublié quelquechose. Si vous voyez de quoi il s'agit ca m'aiderait beaucoup.

    Merci d'avance


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
     'calcul résultat
    Range("J11").Select
    ActiveCell.FormulaR1C1 = "=RC[-5]*RC[-3]*RC[-1]"
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:J1000"), Type:=xlFillDefault
    Range("J11:J1000").Select
     
    'affichage commentaire
    For i = 11 To 1000
    Select Case Cells(i, 10)
    Case Is = 0
    Cells(i, 11) = "-"
    Cells(i, 10) = "-"
    Case 1 To 249
    Cells(i, 11) = "Risque acceptable"
    Cells(i, 11).Interior.ColorIndex = 43
    Case 250 To 899
    Cells(i, 11) = "Actions à mettre en place à plus ou moins long terme"
    Cells(i, 11).Interior.ColorIndex = 44
    Case Else
    Cells(i, 11) = "Risque inacceptable : Plan d'action et planning à respecter"
    Cells(i, 11).Interior.ColorIndex = 46
    End Select
    Next i
     
    'quand risque acceptable pas de seconde cotation
    Dim ligne1 As Long
    Dim ligne2 As Long
    Dim ligne3 As Long
    Dim ligne4 As Long
     
    ligne1 = Application.WorksheetFunction.CountA(Range("K:K")) + 9
    ligne2 = Application.WorksheetFunction.CountA(Range("K:K")) + 10
    ligne3 = Application.WorksheetFunction.CountA(Range("K:K")) + 11
    ligne4 = Application.WorksheetFunction.CountA(Range("K:K")) + 12
     
    If Cells(ligne1, 11) = "Risque acceptable" Then
    Range(Cells(ligne1, 13), Cells(ligne4, 15)) = 0
    Range(Cells(ligne1, 12), Cells(ligne4, 18)).Interior.ColorIndex = 15
    End If
    If Cells(ligne2, 11) = "Risque acceptable" Then
    Range(Cells(ligne1, 13), Cells(ligne4, 15)) = 0
    Range(Cells(ligne1, 12), Cells(ligne4, 18)).Interior.ColorIndex = 15
    End If
    If Cells(ligne3, 11) = "Risque acceptable" Then
    Range(Cells(ligne1, 13), Cells(ligne4, 15)) = 0
    Range(Cells(ligne1, 12), Cells(ligne4, 18)).Interior.ColorIndex = 15
    End If
    If Cells(ligne4, 11) = "Risque acceptable" Then
    Range(Cells(ligne1, 13), Cells(ligne4, 15)) = 0
    Range(Cells(ligne1, 12), Cells(ligne4, 18)).Interior.ColorIndex = 15
    End If
    End Sub

  2. #2
    Expert confirmé
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Par défaut
    Hello,

    je suis hors sujet, mais le formatage conditionnel me paraît plus simple pour colorer en fonction du texte.

  3. #3
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut
    Formatage conditionnel ?

    c'est le faire manuellement ou avec un programme (desolée ca fait pas tres longtemps que je programme et des fois j'ai du mal avec le vocabulaire).

  4. #4
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut
    J'ai regardé c'est de la programmation. Mais je sais pas trop comment m'y prendre.

    mes lignes se remplissent 4 par 4 et mon resultat se trouve sur 1 de ces 4 lignes. je voudrais que les 4 lignes des colonnes d'apres soit grisés qd le risque est acceptable et que dans certaines cellules 0 s'affiche.
    (je ne sais pas si c'est tres clair ce que je viens d'écrire! lol)

    merci d'avance

  5. #5
    Membre émérite
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Par défaut
    Les variables en rouge dans votre code sont hors la boucle
    ligne1=999
    ligne2=1000
    ligne3=1001
    ligne4=1002

    executer ce code une fois suffira ou placer le dans une autre macro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
       Range("J11").Select
    ActiveCell.FormulaR1C1 = "=RC[-5]*RC[-3]*RC[-1]"
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:J1000"), Type:=xlFillDefault
    Range("J11:J1000").Select
    '//---------------------------------------------------------------------
     
    'affichage commentaire
    For i = 11 To 1000
     
     
    Select Case Cells(i, 10)
    Case Is = 0
    Cells(i, 11) = "-"   
    Cells(i, 10) = "-" 'ce code efface la formule
    'ajouter ici le couleur par defaut de la page
    Cells(i, 11).Interior.ColorIndex = xlNone
    Case 1 To 249
    Cells(i, 11) = "Risque acceptable"
    Cells(i, 11).Interior.ColorIndex = 43
    Case 250 To 899

  6. #6
    Membre averti
    Inscrit en
    Avril 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 39
    Par défaut
    merci beaucoup,

    desolee pour le retard je n'ai pas internet chez moi.

    bonne journee

Discussions similaires

  1. [AC-2010] Les bonnes pratiques de la programmation des macros de données
    Par Tofalu dans le forum Access
    Réponses: 5
    Dernier message: 30/07/2016, 19h51
  2. [XL-2013] Programmer un macro
    Par houcem88 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 13/02/2014, 16h19
  3. [LibreOffice][Tableur] comment commencer la programmation de macros?
    Par m_robert dans le forum OpenOffice & LibreOffice
    Réponses: 5
    Dernier message: 02/12/2013, 10h41
  4. Réponses: 12
    Dernier message: 09/02/2008, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo