Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Copier des cellules si mot commençant par

reve24

XLDnaute Occasionnel
Voici un fichier en exemple sur les phrases de risques
Suite à une extraction en ASCII , j' ai des lignes d 'entête FDS ( Fiche de sécurité)
et dessous les phrases de riques
Je souhaiterai à partir d'une cellule exemple B1 ou sur autre onglet
extraire toutes les phrases de rique commençant par S

le scenario c'est de FDS à FDS en colonne A
Ne copier que si commence par S

Merci d avance
 

Pièces jointes

  • EssaiMacro.xlsm
    16.3 KB · Affichages: 109

Hervé

XLDnaute Barbatruc
Re : Copier des cellules si mot commençant par

salut

un simple filtre :

Code:
Public Sub toto()
With Columns(1)
    .AutoFilter Field:=1, Criteria1:="=S*", Operator:=xlAnd
    .Copy Destination:=Range("b1")
    .AutoFilter
End With
End Sub

a plus
 

reve24

XLDnaute Occasionnel
Re : Copier des cellules si mot commençant par

Bonjour
Ta macro filtre certes ùais ne correspond pas à ma demande.
Elle filtre les lignes commençant par S
Pas besoin d une macro tu fait filtre commence par
Moi je choisi une FDS en B1
et je demande que les lignes commencant par S de cette FDS ( toi elle prenait toutes les lignes du fichier )
Il ya en réalité 300 FDS je n'ai fait qu' un exemple .
Pour 2 je l aurais fait a la main
 

reve24

XLDnaute Occasionnel
Re : Copier des cellules si mot commençant par

Je viens d avancer ce travail
grace a une jolie de BOISGONTHIER
Sub SelectionChiffre()
Dim cel As Range, plage As Range
For Each cel In Range("E1", Range("E65536").End(xlUp))
If cel Like "[A-Z]*" Or cel Like "[a-z]*" Then Set plage = Union(cel, IIf(plage Is Nothing, cel, plage))
Next
If Not plage Is Nothing Then plage.EntireRow.Select 'Intersect(plage.EntireRow, [Tableau]).Select
End Sub


Je la modifie en
Sub SelectionChiffre()
Dim cel As Range, plage As Range
For Each cel In Range("E1", Range("E65536").End(xlUp))
If cel Like "[FDS]*" Or cel Like "*" Then Set plage = Union(cel, IIf(plage Is Nothing, cel, plage))
Next
If Not plage Is Nothing Then plage.EntireRow.Select 'Intersect(plage.EntireRow, [Tableau]).Select
End Sub


Et je peux copier dans un autre onglet que ce que je souhaite maintenant cela n extrait pas ma demande
car reste à extraire les lignes commencant par S de cette FDS
 

Staple1600

XLDnaute Barbatruc
Re : Copier des cellules si mot commençant par

Bonjour à tous

reve24
En remaniant ton tableau avec une colonne en plus
puis en appliquant un filtre élaboré avec critère formulé et en cochant Extraction sans doublons.
tu obtenir ce résultat:

Je laisse tester et faire la traduction de cette manip en VBA si tu intéressé par cette voie.

PS: Tu es d'accord avec les 13 éléments filtrés (car dans ton exemple , il y en avait 9) ?
 

reve24

XLDnaute Occasionnel
Re : Copier des cellules si mot commençant par

Parfait parfait
j avais trouvé des solutions en détourant le sujet
mais la tu as reussi en 1 fois a faire ce que j 'etais obligé de fraire en 2 3 fois

MERCI A TOI
 

Staple1600

XLDnaute Barbatruc
Re : Copier des cellules si mot commençant par

Bonsoir à tous

reve24
T'as testé ma proposition (voir message précédent) ?
Tu aurai du ... au moins pour me dire que ce n'était pas tout à fait le résultat attendu

00 ( salut )
En testant ta PJ, j'ai compris comment modifier ma précédente proposition (avec Filtre élaboré) que ce soit manuellement ou par VBA pour arriver au même résultat que toi.
Mais comme cela n'a guère retenu (a priori) l'attention de reve24
Je me contenterai ici de te remercier d'avoir éclairer ma lanterne avec ton AutoFilter
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…