VBA rechercher un mot,copier coller plage...
swell004
Messages postés
2
Statut
Membre
-
barnaby -
barnaby -
Bonjour,
Je suis novice en VBA et etant en stage et ayant un peu beaucoup arrondi sur les bord mon niveau en VBA a l entretien, je dois mtnt assumer :)!!
Je souhaite rechercher dans un onglet Sheet1 dans la ligne 8 un mot clef nomme "portfolio", puis copier coller la plage de cellule qui se trouve deux ligne en dessous et qui s etale sur 10 lignes et 5 colonnes a droite. Evidemment il y a pusieurs "portfolio" dans la ligne 8.
Et l'interet de ce programme serait de les coller dans un autre onglet sheet2 de maniere ordonnee, c'est a dire, coller ces plages de cellules les une en dessous des autres (disons a partir de A2)
J ai mis du temps a aller sur un forum car j ai pris le temps pdtt une sem pour voir si je pouvais me debrouiller tout seul mais force est ce constater q pour ce projet, ca ne m a pas suffit!
J ai pense utiliser une fonction Find, mais pour ce qui est de faire comprendre a l'ordi de copier coller les plages en dessous de ce mot "portfolio" c est m est impossible a fare
Merci de votre aide et de votre temps accorde!
Je suis novice en VBA et etant en stage et ayant un peu beaucoup arrondi sur les bord mon niveau en VBA a l entretien, je dois mtnt assumer :)!!
Je souhaite rechercher dans un onglet Sheet1 dans la ligne 8 un mot clef nomme "portfolio", puis copier coller la plage de cellule qui se trouve deux ligne en dessous et qui s etale sur 10 lignes et 5 colonnes a droite. Evidemment il y a pusieurs "portfolio" dans la ligne 8.
Et l'interet de ce programme serait de les coller dans un autre onglet sheet2 de maniere ordonnee, c'est a dire, coller ces plages de cellules les une en dessous des autres (disons a partir de A2)
J ai mis du temps a aller sur un forum car j ai pris le temps pdtt une sem pour voir si je pouvais me debrouiller tout seul mais force est ce constater q pour ce projet, ca ne m a pas suffit!
J ai pense utiliser une fonction Find, mais pour ce qui est de faire comprendre a l'ordi de copier coller les plages en dessous de ce mot "portfolio" c est m est impossible a fare
Merci de votre aide et de votre temps accorde!
A voir également:
- VBA rechercher un mot,copier coller plage...
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Style d'écriture a copier coller - Guide
- Historique copier coller windows - Accueil - Informatique
- Copier coller multiple - Guide
1 réponse
j ai fait ca pour l instant :
Sub test()
Dim mot As String
Dim i, k As Integer
Dim montab(10) As Variant
For i = 1 To 15
mot = Worksheets("Sheet1").Range("A" & i & ":Z" & i).Value ' la ca bug
If mot = "portfolio" Then
For k = 1 To 10
montab(k) = Range("A" & i + k & ":Z" & i + k + 5)
Next
End If
Next
For i = 2 To 10
Worksheets("Sheet2").Range("A" & i) = montab(i)
Next
je ne veux plus me contenter de rechercher le "portfolio" ds la ligne 8 mais dans toute la feuille et ca me met erreur 13 si vous pouviez m aider! :(
End Sub
Sub test()
Dim mot As String
Dim i, k As Integer
Dim montab(10) As Variant
For i = 1 To 15
mot = Worksheets("Sheet1").Range("A" & i & ":Z" & i).Value ' la ca bug
If mot = "portfolio" Then
For k = 1 To 10
montab(k) = Range("A" & i + k & ":Z" & i + k + 5)
Next
End If
Next
For i = 2 To 10
Worksheets("Sheet2").Range("A" & i) = montab(i)
Next
je ne veux plus me contenter de rechercher le "portfolio" ds la ligne 8 mais dans toute la feuille et ca me met erreur 13 si vous pouviez m aider! :(
End Sub
Beaucoup trop compliqué ton code utilise la méthode de recherche .find
set f =sheets("Sheet1").Range("A:Z").find(what:="portfolio")
if not f is nothing then
first = f.address
do
ici tes instructions
set f =sheets("Sheet1").Range("A:Z").findnext(f)
loop while not f Is Nothing And f.Address <> firstAddress
end if
Bonne continuation