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

Problème dans le code ?

4 réponses
Avatar
Guy72
Bonjour,
J'ai un petit problème avec un code.
Pouvez-vous m'aider ?

http://cjoint.com/?jBjHhuvbwq

--
Cordialement
Guy

4 réponses

Avatar
Charabeuh
Bonjour,

Si j'ai bien compris ce que tu veux faire :?
le code suivant devrait le faire:

Private Sub Nouveau_Click()
'Plage des originaux.

Range("I4:N4").FormulaR1C1 = ""

For Each XCELL In [I4:N4].Cells

Do
XCELL.Value = Int(6 * Rnd) + 1
trouve = False
For Each ycell In Range("I4:N4")
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True
Next ycell
Loop While trouve

Next XCELL
End Sub



Private Sub Résultat_Click()
Range("I4:N4").Copy Destination:=Range("A4")
End Sub


Salut


"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai un petit problème avec un code.
Pouvez-vous m'aider ?

http://cjoint.com/?jBjHhuvbwq

--
Cordialement
Guy



Avatar
Guy72
Bonjour,
Merci de me répondre.
ça se bloque à Next ycell.
Message : Erreur de compilation Next sans For
--
Cordialement
Guy

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

Bonjour,

Si j'ai bien compris ce que tu veux faire :?
le code suivant devrait le faire:

Private Sub Nouveau_Click()
'Plage des originaux.

Range("I4:N4").FormulaR1C1 = ""

For Each XCELL In [I4:N4].Cells

Do
XCELL.Value = Int(6 * Rnd) + 1
trouve = False
For Each ycell In Range("I4:N4")
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True
Next ycell
Loop While trouve

Next XCELL
End Sub



Private Sub Résultat_Click()
Range("I4:N4").Copy Destination:=Range("A4")
End Sub


Salut


"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai un petit problème avec un code.
Pouvez-vous m'aider ?

http://cjoint.com/?jBjHhuvbwq

--
Cordialement
Guy






Avatar
Charabeuh
re Bonjour,

C'est normal.
Le copier du code dans le message a limité la longueur de la ligne à 72 caractères.


les deux lignes du code du message précédent:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True

sont en réalité une seule ligne.
les termes trouve =True doivent se trouver à la fin de la ligne:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then


ou bien dans le code après le then tu rajoutes un espace suivi d'un underscore " _"


ou bien tu remplaces les deux lignes par celles qui suivent et dont le code est plus logique:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True
Exit For
End If


C'est OK ?

Salut









"Guy72" a écrit dans le message de news:
Bonjour,
Merci de me répondre.
ça se bloque à Next ycell.
Message : Erreur de compilation Next sans For
--
Cordialement
Guy

"Charabeuh" a écrit dans le message de news:
Bonjour,

Si j'ai bien compris ce que tu veux faire :?
le code suivant devrait le faire:

Private Sub Nouveau_Click()
'Plage des originaux.

Range("I4:N4").FormulaR1C1 = ""

For Each XCELL In [I4:N4].Cells

Do
XCELL.Value = Int(6 * Rnd) + 1
trouve = False
For Each ycell In Range("I4:N4")
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then trouve = True
Next ycell
Loop While trouve

Next XCELL
End Sub



Private Sub Résultat_Click()
Range("I4:N4").Copy Destination:=Range("A4")
End Sub


Salut


"Guy72" a écrit dans le message de news:
Bonjour,
J'ai un petit problème avec un code.
Pouvez-vous m'aider ?

http://cjoint.com/?jBjHhuvbwq

--
Cordialement
Guy










Avatar
Guy72
Ok ça fonctionne
Merci de ton aide.
J'avais vraiment du mal à m'en sortir;
--
Cordialement
Guy

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

re Bonjour,

C'est normal.
Le copier du code dans le message a limité la longueur de la ligne à 72
caractères.


les deux lignes du code du message précédent:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True

sont en réalité une seule ligne.
les termes trouve =True doivent se trouver à la fin de la ligne:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then


ou bien dans le code après le then tu rajoutes un espace suivi d'un
underscore " _"


ou bien tu remplaces les deux lignes par celles qui suivent et dont le
code est plus logique:
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value) Then
trouve = True
Exit For
End If


C'est OK ?

Salut









"Guy72" a écrit dans le message de
news:
Bonjour,
Merci de me répondre.
ça se bloque à Next ycell.
Message : Erreur de compilation Next sans For
--
Cordialement
Guy

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

Bonjour,

Si j'ai bien compris ce que tu veux faire :?
le code suivant devrait le faire:

Private Sub Nouveau_Click()
'Plage des originaux.

Range("I4:N4").FormulaR1C1 = ""

For Each XCELL In [I4:N4].Cells

Do
XCELL.Value = Int(6 * Rnd) + 1
trouve = False
For Each ycell In Range("I4:N4")
If (XCELL.Address <> ycell.Address) And (XCELL.Value = ycell.Value)
Then trouve = True
Next ycell
Loop While trouve

Next XCELL
End Sub



Private Sub Résultat_Click()
Range("I4:N4").Copy Destination:=Range("A4")
End Sub


Salut


"Guy72" a écrit dans le message de
news:
Bonjour,
J'ai un petit problème avec un code.
Pouvez-vous m'aider ?

http://cjoint.com/?jBjHhuvbwq

--
Cordialement
Guy