Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Affectation de variables.

6 réponses
Avatar
Philippe
Bonjour à toutes et à tous,

Peut-être que l'objet n'est pas tout à fait exact, mais je l'interprète
comme cela.
Pour moi c'est un vrai casse tête chinois (ou autre pays)
J'ai réussi à construire une matrice de chiffres, mais pour le reste, je
butte.
Le but recherché est d'affecter des chiffres pour une même personne malgré
un tri aléatoire et cela à 5 reprises (5 feuillets) et qu'au final la
personne se retrouve avec un total prédéfini.
Le ci-joint vous en dira beaucoup plus si je me suis bien expliqué en
feuillets1 et 3.
Si quelqu'un ou quelqu'une pouvait jeter un oeil.
Merci de votre diligence, malgré cette période estivale.
http://cjoint.com/?htrSgENBfF
Philippe

6 réponses

Avatar
Fredo P
En espérant avoir bien kapiert ton attente.

Sub Attribution()
Dim Plgb As Range, Noms As Range
Dim c As Object, X, Sh As Worksheet, i As Byte, J As Byte
Set Plgb = Feuil3.[J1:N8]
Set Noms = Feuil3.Range("B1:B" & Feuil3.[B65536].End(3).Row)
X = Array("Manche 1", "Manche 2", "Manche 3", "Manche 4", "Manche 5")
J = 1
With Noms
Set c = .Find("*", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
For i = 0 To UBound(X)
Sheets(X(i)).Range("C" & Application.Match(c,
Sheets(X(i)).Range("B1:B" & Sheets(X(i)).[B65536].End(xlDown).Row), 0)) =
Plgb(J, i + 1)
Next
Set c = .FindNext(c)
J = J + 1
J = J + ((J >= 9) * (J - 1))
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub

http://cjoint.com/?htvvdWV1Ko

"Philippe" a écrit dans le message de news:

Bonjour à toutes et à tous,

Peut-être que l'objet n'est pas tout à fait exact, mais je l'interprète
comme cela.
Pour moi c'est un vrai casse tête chinois (ou autre pays)
J'ai réussi à construire une matrice de chiffres, mais pour le reste, je
butte.
Le but recherché est d'affecter des chiffres pour une même personne malgré
un tri aléatoire et cela à 5 reprises (5 feuillets) et qu'au final la
personne se retrouve avec un total prédéfini.
Le ci-joint vous en dira beaucoup plus si je me suis bien expliqué en
feuillets1 et 3.
Si quelqu'un ou quelqu'une pouvait jeter un oeil.
Merci de votre diligence, malgré cette période estivale.
http://cjoint.com/?htrSgENBfF
Philippe



Avatar
Fredo P
Oups!! petite correction qui n'avait pas d'incidence sur fonctionnement du
classeur joint.

http://cjoint.com/?huiMMgtAmX

Sub Attribution()
Dim Plgb As Range, Noms As Range
Dim c As Object, X, i As Byte, J As Byte
Set Plgb = Feuil3.[J1:N8]
Set Noms = Feuil3.Range("B1:B" & Feuil3.[B65536].End(3).Row)
X = Array("Manche 1", "Manche 2", "Manche 3", "Manche 4", "Manche 5")
J = 1
With Noms
Set c = .Find("*", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
Do
For i = 0 To UBound(X)
Sheets(X(i)).Range("C" & Application.Match(c,
Sheets(X(i)).Range("B1:B" & Sheets(X(i)).[B65536].End(3).Row), 0)) =
Plgb(J, i + 1)
Next
Set c = .FindNext(c)
J = J + 1
J = J + ((J >= 9) * (J - 1))
Loop While Not c Is Nothing And c.Address <> firstAddress
End If
End With
End Sub


Avatar
Fredo P
Hum! c'est pas tout à fait bon, plus compliquer que ce que je pensais. Je
vais voir
Avatar
Philippe
Bonjour Fredo,
Tout d'abord merci de ta diligence.
Comme tu le précises, "c'est un peu plus compliqué que je pensais ..."
C'est pour cela que je fait appel aux Experts car c'est vraiment compliqué.
Merci encore.
Philippe

"Fredo P" a écrit dans le
message de news:

Hum! c'est pas tout à fait bon, plus compliquer que ce que je pensais. Je
vais voir



Avatar
michdenis
J'ai pas tout saisi la donne du problème mais...

'Dans le haut du module standard.
'Utilise Dim si la variable est utilisé dans diverses
'Procédures de CE module
'OU
'Public si tu veux utiliser le contenu de cette variable
'dans diverses modules

Dim Collect As New Collection
'OU
Public Collect As New Collection

Tu remplis ta collection, Chaque nom doit être unique dans la collection
c'est ce qu'on appelle la "KEY"

Tu peux par la suite retrouver le numéro associé au nom quand tu veux !
Voir Sub Retrouver_Le_Numéro_Du_Coureur()

Je suppose que ton problème doit être plus compliqué ? ;-))

'--------------------------------------
Sub test()

Collect.Add 1, "denis"
Collect.Add 2, "Diane"
Collect.Add 3, "Isabelle"
Collect.Add 4, "Marie"
Collect.Add 5, "Suzanne"

End Sub
'--------------------------------------

Sub Retrouver_Le_Numéro_Du_Coureur()

x = Collect.Item("Marie")

End Sub
'--------------------------------------




"Philippe" a écrit dans le message de news:

Bonjour à toutes et à tous,

Peut-être que l'objet n'est pas tout à fait exact, mais je l'interprète
comme cela.
Pour moi c'est un vrai casse tête chinois (ou autre pays)
J'ai réussi à construire une matrice de chiffres, mais pour le reste, je
butte.
Le but recherché est d'affecter des chiffres pour une même personne malgré
un tri aléatoire et cela à 5 reprises (5 feuillets) et qu'au final la
personne se retrouve avec un total prédéfini.
Le ci-joint vous en dira beaucoup plus si je me suis bien expliqué en
feuillets1 et 3.
Si quelqu'un ou quelqu'une pouvait jeter un oeil.
Merci de votre diligence, malgré cette période estivale.
http://cjoint.com/?htrSgENBfF
Philippe
Avatar
Philippe
Merci de ces précisions "Michdenis"
Comme tu as remarqué, pas si simple...
"michdenis" a écrit dans le message de news:
ONhzw%
J'ai pas tout saisi la donne du problème mais...

'Dans le haut du module standard.
'Utilise Dim si la variable est utilisé dans diverses
'Procédures de CE module
'OU
'Public si tu veux utiliser le contenu de cette variable
'dans diverses modules

Dim Collect As New Collection
'OU
Public Collect As New Collection

Tu remplis ta collection, Chaque nom doit être unique dans la collection
c'est ce qu'on appelle la "KEY"

Tu peux par la suite retrouver le numéro associé au nom quand tu veux !
Voir Sub Retrouver_Le_Numéro_Du_Coureur()

Je suppose que ton problème doit être plus compliqué ? ;-))

'--------------------------------------
Sub test()

Collect.Add 1, "denis"
Collect.Add 2, "Diane"
Collect.Add 3, "Isabelle"
Collect.Add 4, "Marie"
Collect.Add 5, "Suzanne"

End Sub
'--------------------------------------

Sub Retrouver_Le_Numéro_Du_Coureur()

x = Collect.Item("Marie")

End Sub
'--------------------------------------




"Philippe" a écrit dans le message de news:

Bonjour à toutes et à tous,

Peut-être que l'objet n'est pas tout à fait exact, mais je l'interprète
comme cela.
Pour moi c'est un vrai casse tête chinois (ou autre pays)
J'ai réussi à construire une matrice de chiffres, mais pour le reste, je
butte.
Le but recherché est d'affecter des chiffres pour une même personne malgré
un tri aléatoire et cela à 5 reprises (5 feuillets) et qu'au final la
personne se retrouve avec un total prédéfini.
Le ci-joint vous en dira beaucoup plus si je me suis bien expliqué en
feuillets1 et 3.
Si quelqu'un ou quelqu'une pouvait jeter un oeil.
Merci de votre diligence, malgré cette période estivale.
http://cjoint.com/?htrSgENBfF
Philippe