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 :

copier dans toutes les cellules jaunes ?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut copier dans toutes les cellules jaunes ?
    Voila j'ai une colonne où je dois diviser par le nombre de cellules jaunes et je copie le résultats dans les cellules jaunes.

    Par exemple: dans la colonne X j'ai 47.7 et dans la colonne AL j'ai une macro qui a déterminé qu'il y'a 9 cellules jaunes. Je divise donc 47.7 par 9 = 5.3
    et je voudrais donc écire 5.3 dans toutes les cellules jaunes de ma plage.

    Vous auriez pas une idée ?

    Pour compter le nombre de cellules jaune j'ai ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Function NbJaune(Zone) As Integer
    Application.Volatile
    cpt = 0
    For Each c In Zone
    If c.Interior.ColorIndex = 6 Then cpt = cpt + 1
    Next
    NbJaune = cpt
    End Function

  2. #2
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    j'ai trouvé ça mais ça marche pas il me manque quelque chose et puis je ne fais qu'une ligne donc la formule ne change pas:

    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
     
     
    Sub jaunes()
     
    ' Macro enregistrée le 18/01/2005 par mélo
      Dim plage As Range
      Dim plage1 As Range
      cpt=0 
     
      Set plage = Worksheets("Répartition ressources 2008").Range("Z8:AK300")
      For Each cell In plage
      If cell.Font.ColorIndex = 6 Then
      Worksheets("Répartition ressources 2008").Range("Z8:AK300").Formula = "=X8/AL8"
       cpt= cpt+1
      End If
      Next
      End Sub
    Qui peut m'aider ?

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    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
     
    Sub SelectionnerCellulesJaunes()
        Dim rng As Range
        Dim c As Range
     
        For Each c In ActiveSheet.UsedRange
            If c.Interior.ColorIndex = 6 Then
                If rng Is Nothing Then
                    Set rng = c
                Else
                    Set rng = Union(rng, c)
                End If
            End If
        Next c
        rng.Select
    End Sub
    Ça fait ton affaire?

  4. #4
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    je peux le faire par plage ?

    Ta macro surligne le jaune je n'ai pas ma division. Je sais faire une division mais le probleme c'est que c'est sur toute une colonne donc les cellules doivent changer alors bon le compteur ça marcherait je pense.

    Une fois surligné je peux essayer le compteur mais comment tu incrémenterais la formule de sorte que les cellules changent à chaque ligne ?

  5. #5
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Tu veux une formule à mettre dans chaque cellule qui ferait le travail ou bien une routine VBA que tu exécute une fois seulement? Le plus facile serait VBA...

    ... et moins encombrant pour le recalcul de la feuille.

  6. #6
    Membre éclairé Avatar de melodyyy
    Inscrit en
    Octobre 2006
    Messages
    401
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 401
    Par défaut
    je voudrais VBA effectivement ce serait plus facile alors je préférais oui

  7. #7
    Membre chevronné

    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    453
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 453
    Par défaut
    Voici un classeur en exemple de ce qui peut être fait.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre émérite
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Par défaut
    bonsoir le fil

    une autre proposition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    X = 47.7
    For Each C In Selection ' à adapter
      If C.Interior.ColorIndex = 6 Then C.Value = X / NbJaune(Selection)
    Next
     
    End Sub
    cordialement

Discussions similaires

  1. [XL-2010] Remplacer dans toutes les cellules
    Par arnogb69 dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 14/11/2013, 10h34
  2. [Toutes versions] rajouter deux 0 dans toutes les cellules d une colonne sans effacer leur contenues
    Par mikeactuaire dans le forum Access
    Réponses: 3
    Dernier message: 08/09/2011, 14h31
  3. [AC-2007] Creation de table avec calculs de ratio : "#Nom?" dans toutes les cellules
    Par jbulysse dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/09/2009, 09h48
  4. Ajouter * dans toutes les cellules d'une colonne
    Par islyoung2 dans le forum Excel
    Réponses: 4
    Dernier message: 04/02/2009, 11h13
  5. [VBA-E] Supprimer le cont de cellules dans toutes les feuill
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 15/03/2006, 09h44

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