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
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 !
si je comprends bien, ce que tu veux sélectionner, c'est Range(Trouvé, Trouvé.Offset(4, 4))
ça marche?
Bourby
"NICO.S" a écrit dans le message news:
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
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.
bonjour,
si je comprends bien, ce que tu veux sélectionner,
c'est
Range(Trouvé, Trouvé.Offset(4, 4))
ça marche?
Bourby
"NICO.S" <nico.s3d@wanadoo.fr> a écrit dans le message news:
XnF94D2DC56DA258nicos3dwanadoofr@63.223.5.254...
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
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 !
si je comprends bien, ce que tu veux sélectionner, c'est Range(Trouvé, Trouvé.Offset(4, 4))
ça marche?
Bourby
"NICO.S" a écrit dans le message news:
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
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
Oui merci bcp Bourby, la solution était là ... ! :)
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.
Oui merci bcp Bourby, la solution était là ... ! :)
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 !
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
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" écrivait news::
Oui merci bcp Bourby, la solution était là ... ! :)
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.
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 ...
:))
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" écrivait news::
Oui merci bcp Bourby, la solution était là ... ! :)
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" a écrit dans le message de news:
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" écrivait news::
Oui merci bcp Bourby, la solution était là ... ! :)
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.
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" <nico.s3d@wanadoo.fr> a écrit dans le message de news:
XnF94D2E4A4EBB9Anicos3dwanadoofr@63.223.5.254...
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 ...
:))
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" a écrit dans le message de news:
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" écrivait news::
Oui merci bcp Bourby, la solution était là ... ! :)
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
"Clément Marcotte" écrivait 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. :)
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. :)
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. :)
=============== 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" écrivait 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.
===============
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 ...
=============== 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" écrivait 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
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
=============== > 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" écrivait 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
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" <nico.s3d@wanadoo.fr> a écrit dans le message de news:
XnF94D35D0DF9825nicos3dwanadoofr@63.223.5.254...
=============== >
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 ...
=============== > 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" écrivait 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
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
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)