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

Tranfet *

V

VEVE

Guest
Bonjour le Forum

Voilà j'ai un problème de transfert de données
Dans la colonne A j'ai des chiffres et des lettre exemple *1M*B174.
Je souhaiterai transférer sur le feuille 2 toutes les lignes qui commences par une *.
Voilà la macro est faite mais ne fonctionne pas auriez vous l'amabilité de jeter un petit coup d'œil sur le code pour me dire se qui ne fonctionne pas.

D'avance un grand merci

VEVE
 

Pièces jointes

  • Transfert_Lignes.zip
    12.6 KB · Affichages: 7
  • Transfert_Lignes.zip
    12.6 KB · Affichages: 7
  • Transfert_Lignes.zip
    12.6 KB · Affichages: 11
M

mDF

Guest
Bonjour VEVE et le Forum,


Dans ta procédure "Essai", remplace :

If Sheets("Feuil1").Range("A" & x) = "*" Then

par

If Left(Sheets("Feuil1").Range("A" & x).Value, 1) = "*" Then


Cordialement.
Didier
 
M

Michel_M

Guest
Bonjour Veve, Didier et the forum

Pour compléter ce qu'as écrit Didier et peut-être simplifier la macro, ci dessous proposition:


Option Explicit

Sub sélectionner()

Dim cptr, lig As Long
Dim transfert

Sheets(1).Activate
' sélectionne les saisies du mois
lig = Range("A3").End(xlDown).Row
transfert = Range(Cells(3, 1), Cells(lig, 19))

Sheets(2).Activate
' nettoie la cible
Range("A3:S65536").Clear
' transcrit les données du mois
Range(Cells(3, 1), Cells(lig, 19)) = transfert
' trie pour mettre les "*" en tête
Range(Cells(3, 1), Cells(lig, 19)).Sort Key1:=Range("A3")
'recherche la dernière ligne avec "*" en premier caractère
cptr = 3
While Left(Cells(cptr, 1).Value, 1) = "*"
cptr = cptr + 1
Wend
'détruit les autres lignes
Rows(cptr & ":" & lig).Delete
'encadre la sélection de bordures
Range(Cells(3, 1), Cells(cptr - 1, 19)).Borders.Weight = xlThin


End Sub


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