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 :

mettre des 1 dans une colonne


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut mettre des 1 dans une colonne
    Bonjour, j'aimerais que quelqu'un me guide pour écrire un code.
    Je fais un planning et j'aimerais que lorsque un agent est sélectionné alors un 1 apparaissent dans la colonne K et pour remplir les autres cellules alors le code ne prend que parmis les cellules restantes qui n'ont pas encore de 1.

    En gros:
    au début du code: recherche les cellules vide
    ensuite mon code pour trouver les cellules que je veux sélectionner
    fin du code : place un 1 dans la cellule que j'ai sélectionné

    Merci

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Par défaut
    Salut Kiphrine et le forum
    Si tu veux de l'aide, soit plus précis : on est ni dans ta tête, ni devant ton ordinateur. Pour créer une macro de A à Z, il faut un minimum de données. feuilles, plages, etc.
    Tu ne peux te contenter de décrire des généralités.
    A+

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 12
    Par défaut
    Salut Gorfael.
    Voilà mon code:
    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
    54
    55
    56
    57
    58
    Sub Nom_FIP_3(w() As String)
     
    Dim v As Byte, c As New Collection, x As Integer, y() As Variant, z() As Variant, i As Byte
     
    Randomize
    y = Array(16, 17, 18)
    z = Array(9, 25, 42)
    For i = 0 To 2
        Do While c.Count < 3
            cpt% = cpt% + 1
            If cpt% > MAX_ITER Then
              cpt% = 0
              Exit Do
            End If
            x = Int(y(i) * Rnd + z(i))
            If Cells(x, 3) = 1 And Cells(x, 3).Interior.ColorIndex <> 3 Then
                On Error Resume Next
                c.Add Cells(x, 3).Address, CStr(Cells(x, 3).Address)
                If Err = 0 Then
                    On Error GoTo 0
                    w(v) = Cells(x, 2).Value
                    v = v + 1
                End If
                On Error GoTo 0
           End If
        Loop
        Set c = Nothing
    Next i
     
    End Sub
     
    Sub FIP_AIP_MUSC_3()
     
    Dim p As Range, v As Byte, w(9) As String
     
    Nom_FIP_3 w
     
    For Each p In Sheets("Mois en cours").Range("F4:F18")
        If p.Interior.ColorIndex <> 6 And IsEmpty(p.Value) Then
           p.Value = w(0)
           For v = 1 To UBound(w)
               p.Value = p.Value & "/" & w(v)
           Next v
        End If
    Next p
     
    Nom_FIP_3 w
     
    For Each p In Sheets("Mois en cours").Range("F19:F34")
        If p.Interior.ColorIndex <> 6 And IsEmpty(p.Value) Then
           p.Value = w(0)
           For v = 1 To UBound(w)
               p.Value = p.Value & "/" & w(v)
           Next v
        End If
    Next p
     
    End Sub
    c'est pour un planning, le problème c'est qu'il me prend des agents mais les met dans toutes les activités or un agent ne peut faire qu'une activité par jour alors je voudrais lui dire que lorsqu'il prend un agent,il devra mettre un 1 dans la colonne K de la feuille "compétences"(et au niveau de la ligne où l'agent se trouve) et pour prendre les autre agent il ne prendra que dans les cellules où il n'y a pas encore de 1.
    Est-ce plus clair?

    Alors voilà, mon code prend des cellules spécifiques ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Cells(x, 3) = 1 And Cells(x, 3).Interior.ColorIndex <> 3 Then
    Je voudrais que lorqu'elles sont sélectionnées alors un 1 apparaissent dans la colonne K
    au niveau de la ligne de la cellule sélectionnés
    Exemple avec une cellule:
    on prend une cellule B4 qui correspond au type de cellule que je veux sélectionner(possédant un 1 et étant rouge), je veux que lorqu'elle est sélectionnée alors un 1 apparaisse en K4.
    J'ai essayé comme ça, je pense que le code est bon mais je ne sais pas où le placer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(x, 11).Value = IIf(Cells(x, 11).Value = "", 1, "")

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir,
    if faut adapter ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Value = 1 And Target.Interior.ColorIndex <> 3 Then
        If Cells(Target.Row, 11).Value = "" Then
        Cells(Target.Row, 11).Value = 1
        End If
    End If
    End Sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/02/2014, 14h19
  2. [Debutant] Mettre des images dans une Toolbar
    Par Beleim dans le forum Windows
    Réponses: 11
    Dernier message: 02/03/2006, 23h31
  3. [CSS] Mettre des variable dans une feuille de style???
    Par Shakta dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 24/02/2006, 10h39
  4. Interet de mettre des fichiers dans une base de donnée
    Par Oberown dans le forum Décisions SGBD
    Réponses: 7
    Dernier message: 04/07/2005, 11h35
  5. Réponses: 2
    Dernier message: 27/03/2005, 16h09

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