Merci pour ta reponse, Effectivement ma demande est un peu=20
flou. Ci joint le cas exact:
C'est le premier tableau que j'obtiens, avec chaque fois=20
un=20
nombre aleatoire de ligne et de colonnes quand je=20
rafraichis mes calculs
Type Vehicule=09
Megane Wk28 Wk29
Ess 3600 2950
Diesel 0 500
Type Ordinateur=09
Ibook Wk28 Wk29
FDD 0 850
noFDD 4000 4400
DVD 4500 5000
Je voudrais obtenir et ca sur un nombre variable de ligne,=20
le repere etant toujours la cellue "Type"
Type Vehicule=09
Megane Wk28 Wk29
Vehicule Megane Ess 3600 2950
Vehicule Megane Diesel 0 500
Vehicule Megane Type Ordinateur=09
Vehicule Megane Ibook Wk28 Wk29
Ordinateur Ibook FDD 0 850
Ordinateur Ibook noFDD 4000 4400
Ordinateur Ibook DVD 4500 5000
Donc pour rechercher les celulles en ofset et le colles=20
j'utilise:
Cells.Find(What:=3D("Type"), After:=3DActiveCell,=20
LookIn:=3DxlFormulas, LookAt:=3DxlWhole, SearchOrder _
:=3DxlByRows, SearchDirection:=3DxlNext,=20
MatchCase:=3DFalse).Activate
'
ActiveCell.Offset(0, 1).Copy
ActiveCell.Offset(2, -2).PasteSpecial
Par contre je ne sais pas comment faire pour:
1- repeter cette 1er operation de copier coller tout le=20
long de mon tableau,
2- Coller dans les espaces le reste=20
Quand penses tu ?
Merci=20
David
>-----Message d'origine-----
>Bonjour David,
>
>Tu aurais =E0 d=E9finir le plus pr=E9cis=E9ment ton probl=E8me.
>la qualit=E9 des r=E9ponses seraient =E0 mon avis meilleure.
>
>Voici un exemple :
>
>Recherche dans la feuille 1 , la cellule o=F9 il est =E9crit=20
toto et
>copie cette cellule et les 10 cellules en dessous vers
>une plage nomm=E9e dest dans la feuille 2
>
>'--------------
>Sub TrouverToto()
>
>Dim Rg As Range, Dest As Range
>
>With Worksheets("Feuil2")
> Set Dest =3D .Range("G10")
>End With
>
>With Worksheets("Feuil1")
> Set Rg =3D .Cells.Find("Toto")
> If Not Rg Is Nothing Then
> Rg.Resize(10, 1).Copy Dest
> End If
>End With
>
>End Sub
>'----------------
>
>
>Salutations!
>
>
>
>"David" <dvtournadre@free.fr> a =E9crit dans le message de=20
news:014c01c34004$86f8b940$a501280a@phx.gbl...
>Salut,
>
>Je tourne en rond sur un pb pourtant basique:
>Comment faire pour detecter une valeur Toto dans une
>colonne, selectionner des cellules en offset par rapport
>a cette valeur Toto et copier le tout sur plusieurs
>colonnes a cote jusqu;a ce que la valeut TOTO soit ne
>nouveau detecter e t recommencer jusq=E1 la fin d=FAn
>tableau?
>
>Merci d'avance pour vos pr=E9cieuses reponses
>
>David
>
>
>.
>
.
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
michdenis
Bonjour David,
Désolé, mais je n'ai pas trop compris comment tu traites les données.
Voici cependant, comment faire une boucle pour retrouver sur une plage de cellules données une boucle identifiant la cellule ayant la valeur "Type". Attention à l'un des paramètres de la méthode "Find" "LookAt" .Si le mot recherché "Type" est seul dans la cellule utilise Xlwhole sinon, tu te sers de XlPart.
'--------------------------------------- Sub copier_déplacer()
Dim Rg As Range
With Worksheets("Feuil1") Set Rg = .Range("A1:A" & .Range("A655356").End(xlUp).Row) End With
With Rg Do Set c = .Find("Type", LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then 'C représente la cellule contenant le mot "Type" 'défini le traitement que tu veux obtenir à partir de la 'cellule contenant le mot "Style"
'La ligne suivante de code t'amène à la cellule suivante 'qui contient le mot "Style" Set c = .FindNext(c) End If Loop While Not c Is Nothing Set Rg = Nothing
End Sub '---------------------------------------
Salutations!
"David" a écrit dans le message de news:098201c3409b$1192ae80$ Salut Michdenis,
Merci pour ta reponse, Effectivement ma demande est un peu flou. Ci joint le cas exact: C'est le premier tableau que j'obtiens, avec chaque fois un nombre aleatoire de ligne et de colonnes quand je rafraichis mes calculs Type Vehicule Megane Wk28 Wk29 Ess 3600 2950 Diesel 0 500 Type Ordinateur Ibook Wk28 Wk29 FDD 0 850 noFDD 4000 4400 DVD 4500 5000
Je voudrais obtenir et ca sur un nombre variable de ligne, le repere etant toujours la cellue "Type" Type Vehicule Megane Wk28 Wk29 Vehicule Megane Ess 3600 2950 Vehicule Megane Diesel 0 500 Vehicule Megane Type Ordinateur Vehicule Megane Ibook Wk28 Wk29 Ordinateur Ibook FDD 0 850 Ordinateur Ibook noFDD 4000 4400 Ordinateur Ibook DVD 4500 5000
Donc pour rechercher les celulles en ofset et le colles j'utilise: Cells.Find(What:=("Type"), After:¬tiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder _ :=xlByRows, SearchDirection:=xlNext, MatchCase:úlse).Activate ' ActiveCell.Offset(0, 1).Copy ActiveCell.Offset(2, -2).PasteSpecial
Par contre je ne sais pas comment faire pour: 1- repeter cette 1er operation de copier coller tout le long de mon tableau,
2- Coller dans les espaces le reste
Quand penses tu ?
Merci
David
-----Message d'origine----- Bonjour David,
Tu aurais à définir le plus précisément ton problème. la qualité des réponses seraient à mon avis meilleure.
Voici un exemple :
Recherche dans la feuille 1 , la cellule où il est écrit toto et
copie cette cellule et les 10 cellules en dessous vers une plage nommée dest dans la feuille 2
'-------------- Sub TrouverToto()
Dim Rg As Range, Dest As Range
With Worksheets("Feuil2") Set Dest = .Range("G10") End With
With Worksheets("Feuil1") Set Rg = .Cells.Find("Toto") If Not Rg Is Nothing Then Rg.Resize(10, 1).Copy Dest End If End With
End Sub '----------------
Salutations!
"David" a écrit dans le message de news:014c01c34004$86f8b940$
Salut,
Je tourne en rond sur un pb pourtant basique: Comment faire pour detecter une valeur Toto dans une colonne, selectionner des cellules en offset par rapport a cette valeur Toto et copier le tout sur plusieurs colonnes a cote jusqu;a ce que la valeut TOTO soit ne nouveau detecter e t recommencer jusqá la fin dún tableau?
Merci d'avance pour vos précieuses reponses
David
.
.
Bonjour David,
Désolé, mais je n'ai pas trop compris comment tu traites les données.
Voici cependant, comment faire une boucle pour retrouver sur une plage de cellules données une boucle identifiant la cellule
ayant la valeur "Type". Attention à l'un des paramètres de la méthode "Find" "LookAt" .Si le mot recherché "Type" est seul
dans la cellule utilise Xlwhole sinon, tu te sers de XlPart.
'---------------------------------------
Sub copier_déplacer()
Dim Rg As Range
With Worksheets("Feuil1")
Set Rg = .Range("A1:A" & .Range("A655356").End(xlUp).Row)
End With
With Rg
Do
Set c = .Find("Type", LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
'C représente la cellule contenant le mot "Type"
'défini le traitement que tu veux obtenir à partir de la
'cellule contenant le mot "Style"
'La ligne suivante de code t'amène à la cellule suivante
'qui contient le mot "Style"
Set c = .FindNext(c)
End If
Loop While Not c Is Nothing
Set Rg = Nothing
End Sub
'---------------------------------------
Salutations!
"David" <dvtournadre@free.fr> a écrit dans le message de news:098201c3409b$1192ae80$a501280a@phx.gbl...
Salut Michdenis,
Merci pour ta reponse, Effectivement ma demande est un peu
flou. Ci joint le cas exact:
C'est le premier tableau que j'obtiens, avec chaque fois
un
nombre aleatoire de ligne et de colonnes quand je
rafraichis mes calculs
Type Vehicule
Megane Wk28 Wk29
Ess 3600 2950
Diesel 0 500
Type Ordinateur
Ibook Wk28 Wk29
FDD 0 850
noFDD 4000 4400
DVD 4500 5000
Je voudrais obtenir et ca sur un nombre variable de ligne,
le repere etant toujours la cellue "Type"
Type Vehicule
Megane Wk28 Wk29
Vehicule Megane Ess 3600 2950
Vehicule Megane Diesel 0 500
Vehicule Megane Type Ordinateur
Vehicule Megane Ibook Wk28 Wk29
Ordinateur Ibook FDD 0 850
Ordinateur Ibook noFDD 4000 4400
Ordinateur Ibook DVD 4500 5000
Donc pour rechercher les celulles en ofset et le colles
j'utilise:
Cells.Find(What:=("Type"), After:¬tiveCell,
LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder _
:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse).Activate
'
ActiveCell.Offset(0, 1).Copy
ActiveCell.Offset(2, -2).PasteSpecial
Par contre je ne sais pas comment faire pour:
1- repeter cette 1er operation de copier coller tout le
long de mon tableau,
2- Coller dans les espaces le reste
Quand penses tu ?
Merci
David
-----Message d'origine-----
Bonjour David,
Tu aurais à définir le plus précisément ton problème.
la qualité des réponses seraient à mon avis meilleure.
Voici un exemple :
Recherche dans la feuille 1 , la cellule où il est écrit
toto et
copie cette cellule et les 10 cellules en dessous vers
une plage nommée dest dans la feuille 2
'--------------
Sub TrouverToto()
Dim Rg As Range, Dest As Range
With Worksheets("Feuil2")
Set Dest = .Range("G10")
End With
With Worksheets("Feuil1")
Set Rg = .Cells.Find("Toto")
If Not Rg Is Nothing Then
Rg.Resize(10, 1).Copy Dest
End If
End With
End Sub
'----------------
Salutations!
"David" <dvtournadre@free.fr> a écrit dans le message de
news:014c01c34004$86f8b940$a501280a@phx.gbl...
Salut,
Je tourne en rond sur un pb pourtant basique:
Comment faire pour detecter une valeur Toto dans une
colonne, selectionner des cellules en offset par rapport
a cette valeur Toto et copier le tout sur plusieurs
colonnes a cote jusqu;a ce que la valeut TOTO soit ne
nouveau detecter e t recommencer jusqá la fin dún
tableau?
Désolé, mais je n'ai pas trop compris comment tu traites les données.
Voici cependant, comment faire une boucle pour retrouver sur une plage de cellules données une boucle identifiant la cellule ayant la valeur "Type". Attention à l'un des paramètres de la méthode "Find" "LookAt" .Si le mot recherché "Type" est seul dans la cellule utilise Xlwhole sinon, tu te sers de XlPart.
'--------------------------------------- Sub copier_déplacer()
Dim Rg As Range
With Worksheets("Feuil1") Set Rg = .Range("A1:A" & .Range("A655356").End(xlUp).Row) End With
With Rg Do Set c = .Find("Type", LookIn:=xlValues, LookAt:=xlWhole) If Not c Is Nothing Then 'C représente la cellule contenant le mot "Type" 'défini le traitement que tu veux obtenir à partir de la 'cellule contenant le mot "Style"
'La ligne suivante de code t'amène à la cellule suivante 'qui contient le mot "Style" Set c = .FindNext(c) End If Loop While Not c Is Nothing Set Rg = Nothing
End Sub '---------------------------------------
Salutations!
"David" a écrit dans le message de news:098201c3409b$1192ae80$ Salut Michdenis,
Merci pour ta reponse, Effectivement ma demande est un peu flou. Ci joint le cas exact: C'est le premier tableau que j'obtiens, avec chaque fois un nombre aleatoire de ligne et de colonnes quand je rafraichis mes calculs Type Vehicule Megane Wk28 Wk29 Ess 3600 2950 Diesel 0 500 Type Ordinateur Ibook Wk28 Wk29 FDD 0 850 noFDD 4000 4400 DVD 4500 5000
Je voudrais obtenir et ca sur un nombre variable de ligne, le repere etant toujours la cellue "Type" Type Vehicule Megane Wk28 Wk29 Vehicule Megane Ess 3600 2950 Vehicule Megane Diesel 0 500 Vehicule Megane Type Ordinateur Vehicule Megane Ibook Wk28 Wk29 Ordinateur Ibook FDD 0 850 Ordinateur Ibook noFDD 4000 4400 Ordinateur Ibook DVD 4500 5000
Donc pour rechercher les celulles en ofset et le colles j'utilise: Cells.Find(What:=("Type"), After:¬tiveCell, LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder _ :=xlByRows, SearchDirection:=xlNext, MatchCase:úlse).Activate ' ActiveCell.Offset(0, 1).Copy ActiveCell.Offset(2, -2).PasteSpecial
Par contre je ne sais pas comment faire pour: 1- repeter cette 1er operation de copier coller tout le long de mon tableau,
2- Coller dans les espaces le reste
Quand penses tu ?
Merci
David
-----Message d'origine----- Bonjour David,
Tu aurais à définir le plus précisément ton problème. la qualité des réponses seraient à mon avis meilleure.
Voici un exemple :
Recherche dans la feuille 1 , la cellule où il est écrit toto et
copie cette cellule et les 10 cellules en dessous vers une plage nommée dest dans la feuille 2
'-------------- Sub TrouverToto()
Dim Rg As Range, Dest As Range
With Worksheets("Feuil2") Set Dest = .Range("G10") End With
With Worksheets("Feuil1") Set Rg = .Cells.Find("Toto") If Not Rg Is Nothing Then Rg.Resize(10, 1).Copy Dest End If End With
End Sub '----------------
Salutations!
"David" a écrit dans le message de news:014c01c34004$86f8b940$
Salut,
Je tourne en rond sur un pb pourtant basique: Comment faire pour detecter une valeur Toto dans une colonne, selectionner des cellules en offset par rapport a cette valeur Toto et copier le tout sur plusieurs colonnes a cote jusqu;a ce que la valeut TOTO soit ne nouveau detecter e t recommencer jusqá la fin dún tableau?