Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
DanielCo
Bonjour, Private Sub liste() Dim it As Range, Dico As Object Range("C:C").Delete Set Dico = CreateObject("scripting.dictionary") With Dico For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Cordialement. Daniel
bonjour à tous, j'ai de la brume dans mes lunette, voilà, en cellule A1:A4 j’inscris 1 2 1 2 puis j’exécute la macro ci-bas. normalement il devrait résulter en cellule C1:C2 les données 1 et 2 mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2 Private Sub liste() Dim it As Range Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it) Then .Item(it) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub c'est grave docteur ? isabelle
Bonjour,
Private Sub liste()
Dim it As Range, Dico As Object
Range("C:C").Delete
Set Dico = CreateObject("scripting.dictionary")
With Dico
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
End Sub
Cordialement.
Daniel
bonjour à tous,
j'ai de la brume dans mes lunette,
voilà,
en cellule A1:A4 j’inscris
1
2
1
2
puis j’exécute la macro ci-bas.
normalement il devrait résulter en cellule C1:C2 les données 1 et 2
mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2
Private Sub liste()
Dim it As Range
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it) Then .Item(it) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
Bonjour, Private Sub liste() Dim it As Range, Dico As Object Range("C:C").Delete Set Dico = CreateObject("scripting.dictionary") With Dico For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Cordialement. Daniel
bonjour à tous, j'ai de la brume dans mes lunette, voilà, en cellule A1:A4 j’inscris 1 2 1 2 puis j’exécute la macro ci-bas. normalement il devrait résulter en cellule C1:C2 les données 1 et 2 mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2 Private Sub liste() Dim it As Range Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it) Then .Item(it) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub c'est grave docteur ? isabelle
DanielCo
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
bonjour à tous, j'ai de la brume dans mes lunette, voilà, en cellule A1:A4 j’inscris 1 2 1 2 puis j’exécute la macro ci-bas. normalement il devrait résulter en cellule C1:C2 les données 1 et 2 mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2 Private Sub liste() Dim it As Range Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it) Then .Item(it) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub c'est grave docteur ? isabelle
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
End Sub
Daniel
bonjour à tous,
j'ai de la brume dans mes lunette,
voilà,
en cellule A1:A4 j’inscris
1
2
1
2
puis j’exécute la macro ci-bas.
normalement il devrait résulter en cellule C1:C2 les données 1 et 2
mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2
Private Sub liste()
Dim it As Range
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it) Then .Item(it) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
bonjour à tous, j'ai de la brume dans mes lunette, voilà, en cellule A1:A4 j’inscris 1 2 1 2 puis j’exécute la macro ci-bas. normalement il devrait résulter en cellule C1:C2 les données 1 et 2 mais non, j’obtiens en cellule C1:C4 1, 2, 1, 2 Private Sub liste() Dim it As Range Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it) Then .Item(it) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub c'est grave docteur ? isabelle
isabelle
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
merci Daniel,
ça fonctionne avec le .Value
isabelle
Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
HB
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
Bonjour,
Encore un cas ou la "propriété par défaut"
(ici .Value) n'est plus facultative...
Peut-on considérer qu'il s'agit là
d'un défaut de VBA ?
C'est quand même curieux ...
On se laisse facilement prendre à défaut ...
HB
Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel,
ça fonctionne avec le .Value
isabelle
Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
DanielCo
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
Bonjour,
A partir du moment ou tu peux faire un dictionnaire d'objets range, il
faut bien spécifier que c'est selement la valeur qui t'intéresse.
Cordialement.
Daniel
Bonjour,
Encore un cas ou la "propriété par défaut"
(ici .Value) n'est plus facultative...
Peut-on considérer qu'il s'agit là
d'un défaut de VBA ?
C'est quand même curieux ...
On se laisse facilement prendre à défaut ...
HB
Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel,
ça fonctionne avec le .Value
isabelle
Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
isabelle
oui c'est bien ça, étant donné que chaque cellule a une adresse différente c'est pourquoi tous était mit dans le dico isabelle Le 2016-11-16 à 12:11, DanielCo a écrit :
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
oui c'est bien ça,
étant donné que chaque cellule a une adresse différente
c'est pourquoi tous était mit dans le dico
isabelle
Le 2016-11-16 à 12:11, DanielCo a écrit :
Bonjour,
A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien
spécifier que c'est selement la valeur qui t'intéresse.
Cordialement.
Daniel
Bonjour,
Encore un cas ou la "propriété par défaut"
(ici .Value) n'est plus facultative...
Peut-on considérer qu'il s'agit là
d'un défaut de VBA ?
C'est quand même curieux ...
On se laisse facilement prendre à défaut ...
HB
Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel,
ça fonctionne avec le .Value
isabelle
Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
oui c'est bien ça, étant donné que chaque cellule a une adresse différente c'est pourquoi tous était mit dans le dico isabelle Le 2016-11-16 à 12:11, DanielCo a écrit :
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
HB
oui c'était juste pour tourner autour du mot "default" ;o) Blague à part : On prend vite l'habitude de ne pas spécifier ".Value" et quand c'est indispensable on peut se laisser surprendre... HB Le 16/11/2016 à 18:11, DanielCo a écrit :
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel
oui
c'était juste pour tourner autour du mot "default"
;o)
Blague à part :
On prend vite l'habitude de ne pas spécifier ".Value"
et quand c'est indispensable on peut se laisser surprendre...
HB
Le 16/11/2016 à 18:11, DanielCo a écrit :
Bonjour,
A partir du moment ou tu peux faire un dictionnaire d'objets range, il
faut bien spécifier que c'est selement la valeur qui t'intéresse.
Cordialement.
Daniel
Bonjour,
Encore un cas ou la "propriété par défaut"
(ici .Value) n'est plus facultative...
Peut-on considérer qu'il s'agit là
d'un défaut de VBA ?
C'est quand même curieux ...
On se laisse facilement prendre à défaut ...
HB
Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel,
ça fonctionne avec le .Value
isabelle
Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum :
Private Sub liste2()
Dim it As Range, Dico As Object
Range("C:C").Delete
With CreateObject("scripting.dictionary")
For Each it In Range("A1:A4")
If Not .exists(it.Value) Then .Item(it.Value) = it
Next
Range("C1").Resize(.Count, 1) = Application.Transpose(.Items)
End With
oui c'était juste pour tourner autour du mot "default" ;o) Blague à part : On prend vite l'habitude de ne pas spécifier ".Value" et quand c'est indispensable on peut se laisser surprendre... HB Le 16/11/2016 à 18:11, DanielCo a écrit :
Bonjour, A partir du moment ou tu peux faire un dictionnaire d'objets range, il faut bien spécifier que c'est selement la valeur qui t'intéresse. Cordialement. Daniel
Bonjour, Encore un cas ou la "propriété par défaut" (ici .Value) n'est plus facultative... Peut-on considérer qu'il s'agit là d'un défaut de VBA ? C'est quand même curieux ... On se laisse facilement prendre à défaut ... HB Le 16/11/2016 à 15:57, isabelle a écrit :
merci Daniel, ça fonctionne avec le .Value isabelle Le 2016-11-16 à 05:56, DanielCo a écrit :
Ou au minimum : Private Sub liste2() Dim it As Range, Dico As Object Range("C:C").Delete With CreateObject("scripting.dictionary") For Each it In Range("A1:A4") If Not .exists(it.Value) Then .Item(it.Value) = it Next Range("C1").Resize(.Count, 1) = Application.Transpose(.Items) End With End Sub Daniel