Copie d'une plage de cellules ?!

Le
NICO.S
Bonjour à tous,

Je suis pas mal newbie en macro VBA, je n'arrives pas à sélectionner une
plage de cellule (4lignesx4colonnes) et la copier (voire mieux la
déplacer) dans une autre feuille.

Voilà ma routine qui pose problème :

=

For Each Cell In Range("A1:A100")
On Error Resume Next

Set Trouvé = Cells.Find(What:="Avis N°")
Trouvé.Activate

recup = MsgBox("Dossier d'appel d'offres trouvé : " & Trouvé & Chr(13) &
Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo +
vbDefaultButton1 + vbQuestion, "Scan des données importées")

If recup = vbYes Then
Range(Cells(ActiveCell), Cells.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Select
Worksheets("AO").Row (1)
Worksheets("AO").Paste
Worksheets(1).Select

Else
ActiveCell.EntireRow.Select
Selection.Delete

End If

Next

End Sub



Je penses que c'est au niveau de la façon de sélectionner la plage que
cela pose problème. C'est à dire que je ne sais pas à l'avance à partir
de quelle cellule, ma sélection de 4 lignes * 4 colonnes doit se faire.

Si j'arrivais déjà à faire cela, ce serait le bonheur !

Merci par avance.

Nicolas.
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Bourby
Le #1264840
bonjour,

si je comprends bien, ce que tu veux sélectionner,
c'est
Range(Trouvé, Trouvé.Offset(4, 4))

ça marche?

Bourby

"NICO.S"
Bonjour à tous,

Je suis pas mal newbie en macro VBA, je n'arrives pas à sélectionner une
plage de cellule (4lignesx4colonnes) et la copier (voire mieux la
déplacer) dans une autre feuille.

Voilà ma routine qui pose problème :

================================================ >
For Each Cell In Range("A1:A100")
On Error Resume Next

Set Trouvé = Cells.Find(What:="Avis N°")
Trouvé.Activate

recup = MsgBox("Dossier d'appel d'offres trouvé : " & Trouvé & Chr(13) &
Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo +
vbDefaultButton1 + vbQuestion, "Scan des données importées")

If recup = vbYes Then
Range(Cells(ActiveCell), Cells.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Select
Worksheets("AO").Row (1)
Worksheets("AO").Paste
Worksheets(1).Select

Else
ActiveCell.EntireRow.Select
Selection.Delete

End If

Next

End Sub

============================================================== >
Je penses que c'est au niveau de la façon de sélectionner la plage que
cela pose problème. C'est à dire que je ne sais pas à l'avance à partir
de quelle cellule, ma sélection de 4 lignes * 4 colonnes doit se faire.

Si j'arrivais déjà à faire cela, ce serait le bonheur !

Merci par avance.

Nicolas.






NICO.S
Le #1264839
Oui merci bcp Bourby, la solution était là ... ! :)

Jvé essayer d'en faire kkchose maintenant de ça !

++

NICO.S



"Bourby" @TK2MSFTNGP11.phx.gbl:

bonjour,

si je comprends bien, ce que tu veux sélectionner,
c'est
Range(Trouvé, Trouvé.Offset(4, 4))

ça marche?

Bourby

"NICO.S"
Bonjour à tous,

Je suis pas mal newbie en macro VBA, je n'arrives pas à sélectionner
une


plage de cellule (4lignesx4colonnes) et la copier (voire mieux la
déplacer) dans une autre feuille.

Voilà ma routine qui pose problème :

================================================ >>
For Each Cell In Range("A1:A100")
On Error Resume Next

Set Trouvé = Cells.Find(What:="Avis N°")
Trouvé.Activate

recup = MsgBox("Dossier d'appel d'offres trouvé : " & Trouvé & Chr(13)
&


Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo +
vbDefaultButton1 + vbQuestion, "Scan des données importées")

If recup = vbYes Then
Range(Cells(ActiveCell), Cells.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Select
Worksheets("AO").Row (1)
Worksheets("AO").Paste
Worksheets(1).Select

Else
ActiveCell.EntireRow.Select
Selection.Delete

End If

Next

End Sub

============================================================== >>
Je penses que c'est au niveau de la façon de sélectionner la plage que
cela pose problème. C'est à dire que je ne sais pas à l'avance à
partir


de quelle cellule, ma sélection de 4 lignes * 4 colonnes doit se
faire.



Si j'arrivais déjà à faire cela, ce serait le bonheur !

Merci par avance.

Nicolas.











NICO.S
Le #1261222
Bon c super ca marche comme je le disais dans le précédent message.

Maintenant que j'arrives à coller ce que je veux dans la feuille "AO",
j'aimerais qu'il colle automatiquement à la fin de la liste, c a dire à
partir de la première cellule vide. .. J'ai essayé +sieurs méthodes glané
sur le net, mais ca marche point ! :{

Est-il possible également d'ajouter sur la dernière ligne du collage une
barre de séparation ? afin de mieux visualiser les différents "collage"
(ca me fait penser à un scketch de Dany Boon ... il faut lire public ...
:))

Merci d'avance.

NICO.S



"NICO.S" news::

Oui merci bcp Bourby, la solution était là ... ! :)

Jvé essayer d'en faire kkchose maintenant de ça !

++

NICO.S



"Bourby" @TK2MSFTNGP11.phx.gbl:

bonjour,

si je comprends bien, ce que tu veux sélectionner,
c'est
Range(Trouvé, Trouvé.Offset(4, 4))

ça marche?

Bourby

"NICO.S"
Bonjour à tous,

Je suis pas mal newbie en macro VBA, je n'arrives pas à sélectionner
une


plage de cellule (4lignesx4colonnes) et la copier (voire mieux la
déplacer) dans une autre feuille.

Voilà ma routine qui pose problème :

================================================ >>>
For Each Cell In Range("A1:A100")
On Error Resume Next

Set Trouvé = Cells.Find(What:="Avis N°")
Trouvé.Activate

recup = MsgBox("Dossier d'appel d'offres trouvé : " & Trouvé & Chr
(13)



&
Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo +
vbDefaultButton1 + vbQuestion, "Scan des données importées")

If recup = vbYes Then
Range(Cells(ActiveCell), Cells.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Select
Worksheets("AO").Row (1)
Worksheets("AO").Paste
Worksheets(1).Select

Else
ActiveCell.EntireRow.Select
Selection.Delete

End If

Next

End Sub

============================================================== >>>
Je penses que c'est au niveau de la façon de sélectionner la plage
que



cela pose problème. C'est à dire que je ne sais pas à l'avance à
partir


de quelle cellule, ma sélection de 4 lignes * 4 colonnes doit se
faire.



Si j'arrivais déjà à faire cela, ce serait le bonheur !

Merci par avance.

Nicolas.
















Clément Marcotte
Le #1261221
Jvé essayer d'en faire kkchose maintenant de ça !


Maudite paresse

ru-th
Le #1256414
Salut

j'aimerais qu'il colle automatiquement à la fin de la liste
Range(Trouvé, Trouvé.Offset(4, 4)).copy range("a" &[a65536].end(xlup).row+1)

d'ajouter sur la dernière ligne du collage une
barre de séparation ?
qu'entends-tu par barre de séparation : encadrement ?, un objet trait ?


a+
rural thierry
"NICO.S"
Bon c super ca marche comme je le disais dans le précédent message.

Maintenant que j'arrives à coller ce que je veux dans la feuille "AO",
j'aimerais qu'il colle automatiquement à la fin de la liste, c a dire à
partir de la première cellule vide. .. J'ai essayé +sieurs méthodes glané
sur le net, mais ca marche point ! :{

Est-il possible également d'ajouter sur la dernière ligne du collage une
barre de séparation ? afin de mieux visualiser les différents "collage"
(ca me fait penser à un scketch de Dany Boon ... il faut lire public ...
:))

Merci d'avance.

NICO.S



"NICO.S" news::

Oui merci bcp Bourby, la solution était là ... ! :)

Jvé essayer d'en faire kkchose maintenant de ça !

++

NICO.S



"Bourby" @TK2MSFTNGP11.phx.gbl:

bonjour,

si je comprends bien, ce que tu veux sélectionner,
c'est
Range(Trouvé, Trouvé.Offset(4, 4))

ça marche?

Bourby

"NICO.S"
Bonjour à tous,

Je suis pas mal newbie en macro VBA, je n'arrives pas à sélectionner
une


plage de cellule (4lignesx4colonnes) et la copier (voire mieux la
déplacer) dans une autre feuille.

Voilà ma routine qui pose problème :

================================================ > >>>
For Each Cell In Range("A1:A100")
On Error Resume Next

Set Trouvé = Cells.Find(What:="Avis N°")
Trouvé.Activate

recup = MsgBox("Dossier d'appel d'offres trouvé : " & Trouvé & Chr
(13)



&
Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo +
vbDefaultButton1 + vbQuestion, "Scan des données importées")

If recup = vbYes Then
Range(Cells(ActiveCell), Cells.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Select
Worksheets("AO").Row (1)
Worksheets("AO").Paste
Worksheets(1).Select

Else
ActiveCell.EntireRow.Select
Selection.Delete

End If

Next

End Sub

============================================================== > >>>
Je penses que c'est au niveau de la façon de sélectionner la plage
que



cela pose problème. C'est à dire que je ne sais pas à l'avance à
partir


de quelle cellule, ma sélection de 4 lignes * 4 colonnes doit se
faire.



Si j'arrivais déjà à faire cela, ce serait le bonheur !

Merci par avance.

Nicolas.




















NICO.S
Le #1256227
"ru-th" écrivait
news::

Salut

j'aimerais qu'il colle automatiquement à la fin de la liste
Range(Trouvé, Trouvé.Offset(4, 4)).copy range("a"

&[a65536].end(xlup).row+1)
d'ajouter sur la dernière ligne du collage une
barre de séparation ?
qu'entends-tu par barre de séparation : encadrement ?, un objet trait

?

a+
rural thierry



Merci Thierry,

Je v essayer cela.

Pour la séparation, je voulais parler d'un "objet trait" effectivement
sur toute la ligne.

++

NICO.S


NICO.S
Le #1256226
"Clément Marcotte" news:u1uClA#:

Jvé essayer d'en faire kkchose maintenant de ça !


Maudite paresse





Bah non pas du tout, mais j'essaie surtout de résoudre les problèmes tout
seul avant de faire appel à d'autres connaissances comme les votres, ô
grand maître d'excel. :)

++

NICO.S


NICO.S
Le #1256222
Remoi,

Je viens d'essayer =>

If recup = vbYes Then

Range(Trouvé, Trouvé.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Range("a" & [a65536].End(xlUp).Row + 1).Select
Worksheets("AO").Paste
Worksheets(1).Select

===============
Il me colle bien le range souhaité dans A1 la première fois, mais avec les
autres Range "Trouvé" suivant également... LA détection de la première
cellule vide dans la colonne A, ne marche donc pas ...

plz hlp !

NICO.S




"NICO.S" news::

"ru-th" écrivait
news::

Salut

j'aimerais qu'il colle automatiquement à la fin de la liste
Range(Trouvé, Trouvé.Offset(4, 4)).copy range("a"

&[a65536].end(xlup).row+1)
d'ajouter sur la dernière ligne du collage une barre de séparation ?
qu'entends-tu par barre de séparation : encadrement ?, un objet trait

?

a+
rural thierry



Merci Thierry,

Je v essayer cela.

Pour la séparation, je voulais parler d'un "objet trait" effectivement
sur toute la ligne.

++

NICO.S






ru-th
Le #1261160
Salut

Sub test()
cherche = InputBox("quoi toi chercher ?")
On Error GoTo erreur
i = 1
suite:
Set trouvé = Range("a" & i & ":a1000").Find(What:=cherche)
trouvé.Activate
i = trouvé.Row + 1
recup = MsgBox("Dossier d'appel d'offres trouvé : " & trouvé & Chr(13) & _
Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo + _
vbDefaultButton1 + vbQuestion, "Scan des données importées")
If recup = vbYes Then
trouvé.Copy Worksheets("AO").Range("a" _
& Worksheets("AO").[a65536].End(xlUp).Row + 1)
Else
ActiveCell.EntireRow.Delete
End If
GoTo suite
erreur:
MsgBox "fin trouvé"
End Sub


"NICO.S"
Remoi,

Je viens d'essayer =>

If recup = vbYes Then

Range(Trouvé, Trouvé.Offset(3, 3)).Select
Selection.Cut
Worksheets("AO").Range("a" & [a65536].End(xlUp).Row + 1).Select
Worksheets("AO").Paste
Worksheets(1).Select

=============== >
Il me colle bien le range souhaité dans A1 la première fois, mais avec les
autres Range "Trouvé" suivant également... LA détection de la première
cellule vide dans la colonne A, ne marche donc pas ...

plz hlp !

NICO.S




"NICO.S" news::

"ru-th" écrivait
news::

Salut

j'aimerais qu'il colle automatiquement à la fin de la liste
Range(Trouvé, Trouvé.Offset(4, 4)).copy range("a"

&[a65536].end(xlup).row+1)
d'ajouter sur la dernière ligne du collage une barre de séparation ?
qu'entends-tu par barre de séparation : encadrement ?, un objet trait

?

a+
rural thierry



Merci Thierry,

Je v essayer cela.

Pour la séparation, je voulais parler d'un "objet trait" effectivement
sur toute la ligne.

++

NICO.S










NICO.S
Le #1261140
Merci ça fonctionne cette fois ! :)

J'ai du adapter un poil, je voulais copier un range de 4 x 4 cellules à
partir de la cellule variable "trouvé"

If recup = vbYes Then
Range(trouvé, trouvé.Offset(3, 3)).Copy Worksheets("AO").Range("a" _
& Worksheets("AO").[a65536].End(xlUp).Row + 1)

++

NICO.S







"ru-th" écrivait
news::

Salut

Sub test()
cherche = InputBox("quoi toi chercher ?")
On Error GoTo erreur
i = 1
suite:
Set trouvé = Range("a" & i & ":a1000").Find(What:=cherche)
trouvé.Activate
i = trouvé.Row + 1
recup = MsgBox("Dossier d'appel d'offres trouvé : " & trouvé & Chr(13)
& _ Chr(13) & "Voulez-vous récupérer ce dossier ?", vbYesNo + _
vbDefaultButton1 + vbQuestion, "Scan des données importées")
If recup = vbYes Then
trouvé.Copy Worksheets("AO").Range("a" _
& Worksheets("AO").[a65536].End(xlUp).Row + 1)
Else
ActiveCell.EntireRow.Delete
End If
GoTo suite
erreur:
MsgBox "fin trouvé"
End Sub




Publicité
Poster une réponse
Anonyme