mettre un 1 dans une colonne

Kiphrine

XLDnaute Nouveau
Bonjour, forum,
j'aurais besion de votre aide pur un petit problème de code et d'insertion,
voilà mon code
Code:
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 If Err = 0 Then Cells(x, 11) = "1"
                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
J'aimerais insérer un code qui dit ceci:
Regarder dans la colonne K, si la cellule est vide alors y inscrire un 1, si elle n'est pas vide alors prendre une vide"
Merci
 

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

Bonjour,

Pas tout compris mais le code suivant met 1 dans les cellules vides de la colonne K :

Sub Test()
Columns("K:K").SpecialCells(xlCellTypeBlanks).Value = 1
End Sub


Pour quoi mets tu "1" au lieu de 1 ?
 

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

ok catrice, mais je ne veux pas remplir toute la colonne K de 1, seulement les cellules qui ont été sélectionnées.
 

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

Re,

Alors :

Sub Test()
Selection.SpecialCells(xlCellTypeBlanks).Value = 1
End Sub
 
Dernière édition:

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

D'accord mais dans mon code les cellules sélectionnées sont ici:
Code:
If Cells(x, 3) = 1 And Cells(x, 3).Interior.ColorIndex <> 3
il n'y a pas de sélection.
Je voulais mettre ceci:
Code:
Then Cells(x, 11) = 1
mais ça ne marche pas et je ne sais pas si c'est ici qu'il faut insérer quelque chose.
Merci à toi de prendre le temps de t'inréresser à mon problème.:)
 

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

Re,

Je ne comprends pas tres bien ce que tu veux faire.
Il serait mieux que tu postes un petit bout de fichier pour mieux comprendre ce que fait ta macro.
On irait plus vite et ce serait plus efficace...
 

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

Alors voilà, mon code prend des cellules spécifiques ici
Code:
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.

Le problème c'est que je ne sais pas où l'insérer dans mon code pour que ça marche.
Je voudrais insérer ceci
Code:
Cells(x, 11).Value = IIf(Cells(x, 11).Value = "", 1, "")
Si tu n'arrive vraiment pas à m'aider j'enverrais le fichier.
 

keepcool183

XLDnaute Occasionnel
Re : mettre un 1 dans une colonne

Bonjour Kiphrine, Catrice :)

Pour avoir une réponse fonctionnelle et rapide je te conseille de poster un bout de fichier en expliquant le résultat voulu :)

Ca marche toujours :D
 

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

Re,

Je ne comprends pas ceci (surtout "selectionner") :
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.

Quand est ce que la macro s'execute ?
Il y a un evenement ? un bouton ?
Peux tu poster un petit exemple ?
 

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

Voila le fichier, le code est dans le modile roulement.
Je réexplique:
Je voudrais que lorque mes cellules spécifiques 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 dans la feuille"compétence":
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.
 

Fichiers joints

keepcool183

XLDnaute Occasionnel
Re : mettre un 1 dans une colonne

Re,

Je pense que par sélectionner il veut dire quand elle répond aux conditions mais dans ce cas ton code est bon :p comprend plus rien moi !!
 

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

Dans mon fichier, le code doit prendre les cellules non rouges et possédant un 1 et les mettre dans le planning, sauf que les cellules se répètent d'une activité à l'autre or un agent ne peut faire qu'une seule activité par jour.
Alors je voudrais que lorsque le code prend les cellules pour les mettre dans le planning, un 1 apparaisse dans la colonne K de la ligne de la cellule sélectionnée(ou répondant aux conditions;)) et qu'après on dise dans le code ne prendre que les cellules spécifiques mais qui n'ont pas de 1 dans la colonne K.
Est ce plus clair?
Tout ça pour éviter les doublons dans mon planning.
Vous me seriez d'une grande aide car je commence vraiment à désespérer!!!:(
ps:La macro s'exécute par un bouton.
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

ReRe,

Désolé mais pas encore assez clair pour moi.
Peux tu donner un step by step, qu'est ce qu'on doit avoir dans la feuille "Mois en cours" ? Des noms, des 1 ?...
Quel bouton pour tester ta macro déjà ecrite ?...
 

Kiphrine

XLDnaute Nouveau
Re : mettre un 1 dans une colonne

Dans la feuille "compétences" le code prend les cellules par activités qui ne sont pas rouge et qui contiennent un 1. Je peux choisir le nombre de personne à affecter dans chaque activité. Ensuite le code place les noms des agents dans le planning, il y en a plussieurs par cellules.
Les mêmes noms restent en place environ 15 jours et changent les 15 autres jours.
Le planning se rempli en cliquant sur le bouton nombre de restes dans la feuille "mois en cours" et en mettant un chiffre <100(j'ai un autre code pour>100 mais je ne l'ai pas mis dans ce fichier).
J'aimerais ne trouver le nom d'un agent que dans une seule activité pour un jour.
Pour cela j'ai pensé à changer le code comme ceci:
quand un agent est placé dans la première activité alors mettre un 1 dans la colonne K, sur sa ligne, de la feuille"compétence" et pour les autres activités prendre les agents où il n'y a pas encore de 1 dans la colonne K, les sélectionner(et les mettre dans le planning)et mettre un1 dans la colonne K car ils ont été pris.

Voilà, mais je ne sais pas arranger mon code pour que la dernière partie marche.

Merci de m'aider.
 

Catrice

XLDnaute Barbatruc
Re : mettre un 1 dans une colonne

Bonsoir,

Désolé, mais je n'arrive pas à comprendre le fontionnement de ton planning et je n'ai pas le temps pour l'instant d'interpreter ton code :(
Je vais devoir passer la main.
Je crois qu'il faudrait d'avantage isoler ton probleme.
 

Kiphrine

XLDnaute Nouveau
Problème de planning

Bonjour, je fais un planning sous excel mais un problème est survenu lors de sa création:
en ligne: les jours
en colonne les activités
Mon code met plusieurs personnes dans une activité pour un jour.
Le problème est qu'il me répète les personnes d'une activité à l'autre pour un même jour or une personne ne peut faire qu'une activité par jour.
Je ne vois pas comment régler mon problème.
Quelqu'un pourrait-il m'aider?
Je joindrait mon fichier à la demande avec des explications supplémentaires.
 

ROGER2327

XLDnaute Barbatruc
Re : Problème de planning

Bonjour Kiphrine
Sans support, il est difficile de répondre : un petit classeur serait le bienvenu...
A plus tard, donc...​
ROGER2327
 

Kiphrine

XLDnaute Nouveau
Re : Problème de planning

Voici le fichier.
Le code se trouve dans le module roulement.
Mon code prend les agents dans la feuille"compétence" qui ne sont pas en rouge et qui possède un 1 puis les met dans la feuille"mois en cours" sauf dans les cellules jaunes.
Les même agents restent en place 15 jours et changent pour les 15 autres jours.
Le planning s'affiche en cliquant sur le bouton 'nombre de restes voulus' et en indiquant un chiffre<100.
N'hésite pas à poser plus de question si tu ne comprend pas quelque chose et merci beaucoup à toi de prendre le temps de regarder mon problème.:)
 

Fichiers joints

Kiphrine

XLDnaute Nouveau
Re : Problème de planning

N'hésitez pas à me demander ce que vous ne comprenez pas.
En fait je ne sais pas si l'idée de mettre des 1 dans une colonne était bonne donc je redemande si il n'y aurait pas une autre solution.
J'ai vraiment besoin d'une solution car c'est un projet qui me permettra de valider mon stage.
 
Dernière édition:

Discussions similaires


Haut Bas