Copie premiers caractères cellule Vb
pgillou
Messages postés
49
Date d'inscription
Statut
Membre
Dernière intervention
-
lucas06150 Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
lucas06150 Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour le forum,
Petite question en cette fin de semaine en espérant que vous pourrez m'aider.Je cherche à copier les 4 premiers caractères d'une cellule si ça valeur répond à une condition.Voici le code sur lequel je travail sans succès jusqu'ici.
Sub test()
Dim Lig As Long
Dim Col As String
Dim Col1 As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Feuil1").Activate
NumLig = 0
Col = "B"
' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(5000, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value Like "RA*" Then "valeur a cherché dans colonne B
.Cells(Lig, Col),Copy 'Copie de la cellule
NumLig = NumLig + 1
Cells(NumLig , 1).Select
ActiveSheet.Paste
End If
Next
End With
End Sub
Merci de votre aide et bonne journnée!
Petite question en cette fin de semaine en espérant que vous pourrez m'aider.Je cherche à copier les 4 premiers caractères d'une cellule si ça valeur répond à une condition.Voici le code sur lequel je travail sans succès jusqu'ici.
Sub test()
Dim Lig As Long
Dim Col As String
Dim Col1 As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("Feuil1").Activate
NumLig = 0
Col = "B"
' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("Feuil1") ' feuille source
NbrLig = .Cells(5000, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value Like "RA*" Then "valeur a cherché dans colonne B
.Cells(Lig, Col),Copy 'Copie de la cellule
NumLig = NumLig + 1
Cells(NumLig , 1).Select
ActiveSheet.Paste
End If
Next
End With
End Sub
Merci de votre aide et bonne journnée!
A voir également:
- Copie premiers caractères cellule Vb
- Copie cachée - Guide
- Super copie - Télécharger - Gestion de fichiers
- Caractères ascii - Guide
- Copie écran samsung - Guide
- Caractères spéciaux - Guide
7 réponses
Salut,
Pour récupérer les 4 premiers caractères d'une chaîne il me semble que c'est
Pour récupérer les 4 premiers caractères d'une chaîne il me semble que c'est
Left(TaChaine,4)
Salut,
Ecoute j'ai deja essayé cette fonction je n'arrive pas à l'adapter.
J'ai essayé de mofié la ligne suivante:
.Cells(Lig, Col),Copy
par
.Left(Cells(Lig,Col).Value,4)
Le code bloque dessus.
Une idée?
Merci de ton aide
Ecoute j'ai deja essayé cette fonction je n'arrive pas à l'adapter.
J'ai essayé de mofié la ligne suivante:
.Cells(Lig, Col),Copy
par
.Left(Cells(Lig,Col).Value,4)
Le code bloque dessus.
Une idée?
Merci de ton aide
C'est normal Left() n'est pas une méthode de l'objet Sheet
Essai ca en dehors du With :
Left(Sheet("Feuil1").Cells(Lig,Col).Value,4)
ou
Left(Sheet("Feuil1").Range(Col & Lig).Value,4)
Essai ca en dehors du With :
Left(Sheet("Feuil1").Cells(Lig,Col).Value,4)
ou
Left(Sheet("Feuil1").Range(Col & Lig).Value,4)
Re,
Pas de changement j'ai un message comme quoi un égal et attendu avec les deux méthodes.
Après je vais peut étre vois pour supprimer les caactéres dont je n'ai pas besoin .
Pas de changement j'ai un message comme quoi un égal et attendu avec les deux méthodes.
Après je vais peut étre vois pour supprimer les caactéres dont je n'ai pas besoin .
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Essaie de faire ça:
;o)
Essaie de faire ça:
If InStr(1,.Cells(Lig, Col).Value, "RA" ) <> 0 Then "valeur a cherché dans colonne B NumLig = NumLig + 1 .Cells(NumLig , 1) = Left(.Cells(Lig,Col).Value,4) End If
;o)
Apres adaptation voici le code final:
Sub Macro2()
Dim Col As String
Dim Col1 As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("carnet dep a").Activate
NumLig = 0
Col = "B" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("carnet dep a") ' feuille source
NbrLig = .Cells(5000, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value Like "RA*" Then
.Cells(Lig, 1) = Left(.Cells(Lig, Col).Value, 6)
End If
Next
End With
End Sub
Je ne suis pas arrivée à faire marché la fonction InStr mais la fonction Left ma permis de faire ce que je voulais.
Merci à vous deux!
Sub Macro2()
Dim Col As String
Dim Col1 As String
Dim NbrLig As Long
Dim NumLig As Long
Sheets("carnet dep a").Activate
NumLig = 0
Col = "B" ' colonne de la donnée non vide à tester
NumLig = 0
With Sheets("carnet dep a") ' feuille source
NbrLig = .Cells(5000, Col).End(xlUp).Row
For Lig = 1 To NbrLig
If .Cells(Lig, Col).Value Like "RA*" Then
.Cells(Lig, 1) = Left(.Cells(Lig, Col).Value, 6)
End If
Next
End With
End Sub
Je ne suis pas arrivée à faire marché la fonction InStr mais la fonction Left ma permis de faire ce que je voulais.
Merci à vous deux!