OVH Cloud OVH Cloud

Colle pour missange

23 réponses
Avatar
Lyss
Bon voila,

sur une feuille "CALCUL ET FEUILLE DE SCORES" je voudrais recuperer la plage
"B1:F120" et l'afficher dans mon Userform grace au spreadsheet en "B1:F120",
ou dans un autre controle.

j'ais donc place la macro dans la partie initialize de mon Userform pour
initialiser mon affichage ca me sort un code d'erreur.

Erreur 451
property LET non definie dans property GET

peut etre ca vien de excel 2000 sinon je sais pas.

Voici le code que michdenis m'a donner

'------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range

With Worksheets("CALCUL ET FEUILLE DE SCORES")
Set Rg = .Range("B1:B1:F120")
End With

With Spreadsheet1
.Range(.Range("B1"), .Cells(Rg.Rows.Count, _
Rg.Columns.Count + Rg(1).Column)).Value = Rg.Value
End With
Set Rg = Nothing

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

Salutation et Merci.

10 réponses

1 2 3
Avatar
michdenis
Bonjour Lyss,


La procédure que je t'ai proposé est ou aurait dû être celle-ci :

Pour corriger cette syntaxe singulière :
Set Rg = .Range("B1:B1:F120")


'------------------------
Private Sub UserForm_Initialize()

Dim Rg As Range

With Worksheets("La Feuille")
Set Rg = .Range("B1:F120")
End With

With Spreadsheet1
.Range(.Range("B1"), .Cells(Rg.Rows.Count, _
Rg.Columns.Count + 1)) = Rg.Value
End With
Set Rg = Nothing

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


Salutations!




"Lyss" a écrit dans le message de news:
Bon voila,

sur une feuille "CALCUL ET FEUILLE DE SCORES" je voudrais recuperer la plage
"B1:F120" et l'afficher dans mon Userform grace au spreadsheet en "B1:F120",
ou dans un autre controle.

j'ais donc place la macro dans la partie initialize de mon Userform pour
initialiser mon affichage ca me sort un code d'erreur.

Erreur 451
property LET non definie dans property GET

peut etre ca vien de excel 2000 sinon je sais pas.

Voici le code que michdenis m'a donner

'------------------------------
Private Sub CommandButton1_Click()

Dim Rg As Range

With Worksheets("CALCUL ET FEUILLE DE SCORES")
Set Rg = .Range("B1:B1:F120")
End With

With Spreadsheet1
.Range(.Range("B1"), .Cells(Rg.Rows.Count, _
Rg.Columns.Count + Rg(1).Column)).Value = Rg.Value
End With
Set Rg = Nothing

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

Salutation et Merci.
Avatar
Daniel.M
Allo Denis et Lyss,

Pour les afficionados de la simplification,

Private Sub UserForm_Initialize()

With Worksheets("La Feuille").Range("B1:F120")
Spreadsheet1.Range("B1").Resize(.Rows.Count, .Columns.Count) = .Value
End With

End Sub

AMA, il y a moins de risque d'erreur si on déplace la destination (C5 au lieu de
B1 par exemple) puisque ça ne nécessitera qu'un seul changement. Il en va de
même pour la source.

Salutations,

Daniel M.
Avatar
Denis Michon
Bonsoir Daniel,

As-tu testé ton code ? Si oui sur quelle version d'excel ? Sous excel 2002, la méthode Resize de l'objet Range du
SpreadSheet1 n'existe pas !! Pas besoin de te dire que ça va mal à la shop !!! ;-))


Salutations!



"Daniel.M" a écrit dans le message de news:%
Allo Denis et Lyss,

Pour les afficionados de la simplification,

Private Sub UserForm_Initialize()

With Worksheets("La Feuille").Range("B1:F120")
Spreadsheet1.Range("B1").Resize(.Rows.Count, .Columns.Count) = .Value
End With

End Sub

AMA, il y a moins de risque d'erreur si on déplace la destination (C5 au lieu de
B1 par exemple) puisque ça ne nécessitera qu'un seul changement. Il en va de
même pour la source.

Salutations,

Daniel M.
Avatar
Daniel.M
Bonsoir Denis,

As-tu testé ton code ?


Maintenant, oui :-)

Si oui sur quelle version d'excel ?


Excel 2000.

Sous excel 2002, la méthode Resize de l'objet Range du
SpreadSheet1 n'existe pas !! Pas besoin de te dire que ça va mal à la shop !!!
;-))


Il faut assurément que SpreadSheet1 ait été défini AVANT quelque part.
C'est la même chose pour ton code. Non?

Pour une Plage continue valide (comme c'est le cas ici), il ne devrait pas y
avoir de problème avant la méthode Resize. En tout cas, ça fonctionne chez moi.

Salutations,

Daniel M.

Avatar
Denis Michon
Bonsoir Daniel,

" En tout cas, ça fonctionne chez moi "

Pour une raison que j'ignore, je n'ai pas le même succès que toi. (excel 2002)

Cette section est mise en surbrillance à l'exécution de ton code :

.Resize(.Rows.Count, .Columns.Count) = .Value

J'avais essayé avant de publier mon code pour la première fois ... et je m'étais buté sur la méthode "Resize"

Comme le demandeur semble avoir la même version que toi, cette solution devrait le satisfaire !


Merci pour le suivi,


Salutations!








"Daniel.M" a écrit dans le message de news:
Bonsoir Denis,

As-tu testé ton code ?


Maintenant, oui :-)

Si oui sur quelle version d'excel ?


Excel 2000.

Sous excel 2002, la méthode Resize de l'objet Range du
SpreadSheet1 n'existe pas !! Pas besoin de te dire que ça va mal à la shop !!!
;-))


Il faut assurément que SpreadSheet1 ait été défini AVANT quelque part.
C'est la même chose pour ton code. Non?

Pour une Plage continue valide (comme c'est le cas ici), il ne devrait pas y
avoir de problème avant la méthode Resize. En tout cas, ça fonctionne chez moi.

Salutations,

Daniel M.

Avatar
sabatier
daniel, un seul "f" à aficionado : c'est la dernière fois que je te le dis
et note au passage qu'en espagnol, aucune consonne ne double (je ne parle
pas bien sûr du "ll" qui est une lettre à lui tout seul)
jps

"Daniel.M" a écrit dans le message de
news:%
Allo Denis et Lyss,

Pour les afficionados de la simplification,

Private Sub UserForm_Initialize()

With Worksheets("La Feuille").Range("B1:F120")
Spreadsheet1.Range("B1").Resize(.Rows.Count, .Columns.Count) = .Value
End With

End Sub

AMA, il y a moins de risque d'erreur si on déplace la destination (C5 au
lieu de

B1 par exemple) puisque ça ne nécessitera qu'un seul changement. Il en va
de

même pour la source.

Salutations,

Daniel M.




Avatar
CAP2
Salut,

aucune consonne ne double à l'exception du "r".
Comme par exemple "burro", qui veut dire "âne". N'y voyons bien sûr aucun
message sous-jacent, jps ;o))))

CAP2
Avatar
twinley
Après le séminaire de Marseille, j'étais tenté de penser qu'il verrait
double ! Et bien c'est l'inverse...
Nous surprendra toujours, ce jpsjps. Le femmes ne doivent pas s'ennuyer avec
lui.
--
à+twinley
"CAP2" a écrit dans le message de
news:
Salut,

aucune consonne ne double à l'exception du "r".
Comme par exemple "burro", qui veut dire "âne". N'y voyons bien sûr aucun
message sous-jacent, jps ;o))))

CAP2




Avatar
jps
:-)))))))))))))))
oups, en effet, j'avais oublié le "r" et tu as bien de la chance, CAP2, que
"caracol" n'en prenne qu'un...
mais ton estocade me fait penser à ce passage du poème de garcia lorca, je
crois, qu'il écrivit en hommage au célèbre torero manolete qui fut encorné
de belle et fatale manière en plaza de toros de linares :

le he visto matar muriendo
le he visto morir matando

et tous en choeur, les marseillais font faire "olééééééééééééééééé"
jps

"CAP2" a écrit dans le message de
news:
Salut,

aucune consonne ne double à l'exception du "r".
Comme par exemple "burro", qui veut dire "âne". N'y voyons bien sûr aucun
message sous-jacent, jps ;o))))

CAP2




Avatar
CAP2
;o)))

Peut-être même qu'ils oseront un "Olé l'OM !!"...

CAP2

PS : "Caracol" ne prend bien qu'un "r", tandis que "cojones" n'en prend
aucun, malgré une prononciation qui pourrait préter à confusion ;o)))
1 2 3