Toujours apprentissage VBA

Le
jean berti
Bonjour à tous

Mon problème :
comment ajouter une cellule F23 dans la sélection ""Range("B3:N3").Select""
et de la copier dans la colonne O avec bien sur
"[B65000].End(xlUp).Offset(1, 0).Select"
Si je mets "Range("B3:N3,F23") cela ne marche pas
erreur 1004 _ impossible d'executer cette commande sur des sélections
multiples
Sub zaza()
Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Merci à tous

Jean Berti
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
FFO
Le #4905891
Salut à toi

Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3

si tu rajoute un troisième repère Excel ne comprend plus rien

en conclusion 2 possibilités

Soit tu augmentes ta plage pour inclure F23 ainsi :

Le point de départ : B3
le point d'arrivé : N23

Ce qui donne Range("B3:N23") qui englobe donc F23
Inconvénient tu embarques toutes les cellules de la nouvelle plage (peut
être un peu beaucoup)

Soit tu réalise l'opération en 2 fois

1° Fois :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

2° Fois :

sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Le tout faisant :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Celà devrait être nettement mieux

Dis moi !!!!


Bonjour à tous

Mon problème :
comment ajouter une cellule F23 dans la sélection ""Range("B3:N3").Select""
et de la copier dans la colonne O avec bien sur
"[B65000].End(xlUp).Offset(1, 0).Select"
Si je mets "Range("B3:N3,F23") cela ne marche pas
erreur 1004 _ impossible d'executer cette commande sur des sélections
multiples
Sub zaza()
Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Merci à tous

Jean Berti





jean berti
Le #4905851
Bonjour FFO

Merci beaucoup de tes explications pédagogiques.
J'avais bien pensé à le faire en 2 fois, mais je croyais qu'il y aurait 1
combine.
Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3
si tu rajoute un troisième repère Excel ne comprend plus rien

Range("D13,D20,F16,L20:L36,C20:C36,E13,M15,F21:F36").ClearContents
Comment alors expliquer que cela fonctionne?
Excuses moi mais j'aime bien comprendre et l'aide (excel 2003),un peu vague.
Merci encore

Jean Berti



"FFO"
Salut à toi

Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3

si tu rajoute un troisième repère Excel ne comprend plus rien

en conclusion 2 possibilités

Soit tu augmentes ta plage pour inclure F23 ainsi :

Le point de départ : B3
le point d'arrivé : N23

Ce qui donne Range("B3:N23") qui englobe donc F23
Inconvénient tu embarques toutes les cellules de la nouvelle plage (peut
être un peu beaucoup)

Soit tu réalise l'opération en 2 fois

1° Fois :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

2° Fois :

sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Le tout faisant :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Celà devrait être nettement mieux

Dis moi !!!!


Bonjour à tous

Mon problème :
comment ajouter une cellule F23 dans la sélection
""Range("B3:N3").Select""
et de la copier dans la colonne O avec bien sur
"[B65000].End(xlUp).Offset(1, 0).Select"
Si je mets "Range("B3:N3,F23") cela ne marche pas
erreur 1004 _ impossible d'executer cette commande sur des sélections
multiples
Sub zaza()
Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Merci à tous

Jean Berti







FFO
Le #4905641
Rebonjours à toi
Ce que tu peux réaliser pour certaines instructions (Select, clear,
clearcontents, etc...)
tu ne peux en faire de même pour d'autres instructions comme Copy qui ne
peuvent se réaliser que dans un cadre bien précis de selection de cellules
Si ta commande :
Range("B3:N3,F23").Select n'a pas fonctionnée ce n'est pas au regard de la
commande Select mais plutôt de la commande Copy qui suit pour la ligne :
Selection.Copy

Donc en résumé la ligne Range("B3:N3,F23").Select n'est pas à incriminer
contrairement à ce que je t'ai dis dans ma première réponse (méaculpa !!!)
c'est les différentes cellules définies qui en ont résulté qui n'est
concevable avec la commande Copy

Essaies de réaliser des sélections multibles avec ta souris et la touche
Ctrl et tu constateras que pour bon nombre d'entre elles une copie est
impossible

J'espère avoir éclairé ta lanterne

Dis moi !!!!




Bonjour FFO

Merci beaucoup de tes explications pédagogiques.
J'avais bien pensé à le faire en 2 fois, mais je croyais qu'il y aurait 1
combine.
Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3
si tu rajoute un troisième repère Excel ne comprend plus rien

Range("D13,D20,F16,L20:L36,C20:C36,E13,M15,F21:F36").ClearContents
Comment alors expliquer que cela fonctionne?
Excuses moi mais j'aime bien comprendre et l'aide (excel 2003),un peu vague.
Merci encore

Jean Berti



"FFO"
Salut à toi

Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3

si tu rajoute un troisième repère Excel ne comprend plus rien

en conclusion 2 possibilités

Soit tu augmentes ta plage pour inclure F23 ainsi :

Le point de départ : B3
le point d'arrivé : N23

Ce qui donne Range("B3:N23") qui englobe donc F23
Inconvénient tu embarques toutes les cellules de la nouvelle plage (peut
être un peu beaucoup)

Soit tu réalise l'opération en 2 fois

1° Fois :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

2° Fois :

sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Le tout faisant :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Celà devrait être nettement mieux

Dis moi !!!!


Bonjour à tous

Mon problème :
comment ajouter une cellule F23 dans la sélection
""Range("B3:N3").Select""
et de la copier dans la colonne O avec bien sur
"[B65000].End(xlUp).Offset(1, 0).Select"
Si je mets "Range("B3:N3,F23") cela ne marche pas
erreur 1004 _ impossible d'executer cette commande sur des sélections
multiples
Sub zaza()
Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Merci à tous

Jean Berti












LSteph
Le #4905401
Bonsoir,

A éviter... .Select
il n'est absolument pas nécessaire de sélectionner pour agir
.Select suivi de .selection
est une nécessité de l'enregistreur, pas du programmeur!
Supposons ta feuille d'origine Feuil1

Sub aaazzzz()
Feuil1.Range("B3:N3").Copy
With Worksheets("Cours")
.[B65536].End(xlUp).Offset(1, 0).PasteSpecial _
Paste:=xlValues, Operation:=xlNone, _
SkipBlanks:úlse, Transpose:úlse
.Range("n65536").End(xlUp).Offset(0, 1) = Feuil1.Range("F23")
End With
End Sub

'Cordialement.

'lSteph

Bonjour FFO

Merci beaucoup de tes explications pédagogiques.
J'avais bien pensé à le faire en 2 fois, mais je croyais qu'il y aurait 1
combine.
Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3
si tu rajoute un troisième repère Excel ne comprend plus rien

Range("D13,D20,F16,L20:L36,C20:C36,E13,M15,F21:F36").ClearContents
Comment alors expliquer que cela fonctionne?
Excuses moi mais j'aime bien comprendre et l'aide (excel 2003),un peu vague.
Merci encore

Jean Berti



"FFO"
Salut à toi

Quand tu sélectionnes par l'instruction Range("B3:N3") tu détermines une
plage selon 2 repères :
Le point de départ : B3
Le point d'arrivé : N3

si tu rajoute un troisième repère Excel ne comprend plus rien

en conclusion 2 possibilités

Soit tu augmentes ta plage pour inclure F23 ainsi :

Le point de départ : B3
le point d'arrivé : N23

Ce qui donne Range("B3:N23") qui englobe donc F23
Inconvénient tu embarques toutes les cellules de la nouvelle plage (peut
être un peu beaucoup)

Soit tu réalise l'opération en 2 fois

1° Fois :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

2° Fois :

sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Le tout faisant :

Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse
sheets("Onglet de départ").Select
Range("F23").Copy
Sheets("Cours").Activate
Range("O65000").end(xlup).offset(1,0).select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse


Celà devrait être nettement mieux

Dis moi !!!!


Bonjour à tous

Mon problème :
comment ajouter une cellule F23 dans la sélection
""Range("B3:N3").Select""
et de la copier dans la colonne O avec bien sur
"[B65000].End(xlUp).Offset(1, 0).Select"
Si je mets "Range("B3:N3,F23") cela ne marche pas
erreur 1004 _ impossible d'executer cette commande sur des sélections
multiples
Sub zaza()
Selection.NumberFormat = "0.00"
Range("B3:N3").Select
Selection.Copy
Sheets("Cours").Activate
[B65000].End(xlUp).Offset(1, 0).Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:úlse

Merci à tous

Jean Berti











LSteph
Le #4905391
... ceci dit c'était pour reprendre l'exemple

On pourrait également boucler les cellules
de Range("B3:n3,f23")
en décalant depuis [b65536].end(xlup) (2)

mais

je préfère grandement le style de ce qu'AV t'a proposé
à ta question analogue du 28/06.

Espérant t'avoir ouvert d'autres fenêtres.

Cordialement.

lSteph
jean berti
Le #4905331
Bonsoir

Merci de vos explications tres précises.
Je pense avoir compris le fonctionnement.
Merci à vous 2.
Jean Berti
"LSteph"
... ceci dit c'était pour reprendre l'exemple

On pourrait également boucler les cellules
de Range("B3:n3,f23")
en décalant depuis [b65536].end(xlup) (2)

mais

je préfère grandement le style de ce qu'AV t'a proposé
à ta question analogue du 28/06.

Espérant t'avoir ouvert d'autres fenêtres.

Cordialement.

lSteph



Publicité
Poster une réponse
Anonyme