Bonjour,
Je vous expose mon problème.
Je cherche à effectuer un tri sur un fichier texte que j'ai exporté sur excel (environ 10 000 lignes dans une seul colonne A).
Après un petit MsgBox pour prévenir du temps de traitement, je souhaite que :
- Si il trouve un cellule qui contient "Blabla", il copie la celule deux lignes en dessous et la copie juste à sa droite.
(Ex : Si A1 = 123Blablablou123, je veux qu'il copie A3 en B1). Et ceci pour toute la colonne A.
- Deuxièmement (une fois l'étape d'avant effectué) que si il trouve une cellule qui ne contient pas "!a", il la supprime, mais sans pour autant que il se décale avec l'étape précédente.
(Ex : Si
A1 = a!a
B1 = rt!
C1 = az
D1 = po!a
Je voudrais obtenir :
A1 = a!a
B1 =
C1 =
D1 = po!a
Voici mon travail :
EDIT : (i>7 car j'importe mon texte qu'à partir de la ligne 7 ! )
Cela me retourne l'erreur :
"Erreur d'execution '438':
Propriété ou méthode non géré par cet objet"
(Pour la ligne "Selection.Paste").
La cellule conscerné est bien séléctionné (i+2), mais la copie ne marche pas.
Merci d'avance pour votre aide,
Cordialement.
Je vous expose mon problème.
Je cherche à effectuer un tri sur un fichier texte que j'ai exporté sur excel (environ 10 000 lignes dans une seul colonne A).
Après un petit MsgBox pour prévenir du temps de traitement, je souhaite que :
- Si il trouve un cellule qui contient "Blabla", il copie la celule deux lignes en dessous et la copie juste à sa droite.
(Ex : Si A1 = 123Blablablou123, je veux qu'il copie A3 en B1). Et ceci pour toute la colonne A.
- Deuxièmement (une fois l'étape d'avant effectué) que si il trouve une cellule qui ne contient pas "!a", il la supprime, mais sans pour autant que il se décale avec l'étape précédente.
(Ex : Si
A1 = a!a
B1 = rt!
C1 = az
D1 = po!a
Je voudrais obtenir :
A1 = a!a
B1 =
C1 =
D1 = po!a
Voici mon travail :
Code:
Sub Bouton3_QuandClic()
Dim Rep As Integer
Rep = MsgBox("Cette opération peut prendre quelques minutes, Voulez-vous continuez ?", vbYesNo + vbQuestion, "Attention")
If Rep = vbYes Then
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Cells(i, 1) Like "*blabla*" Then
Cells(i + 2, 1).Select
Selection.Copy
Cells(i + 2, 2).Select
Selection.Paste
End If
Next
For i = ActiveSheet.UsedRange.Rows.Count To 1 Step -1
If Not Cells(i, 1) Like "*!a*" Then
If i > 7 Then Rows(i).Delete
End If
Next
Else: Range("A1").Select
End If
End Sub
EDIT : (i>7 car j'importe mon texte qu'à partir de la ligne 7 ! )
Cela me retourne l'erreur :
"Erreur d'execution '438':
Propriété ou méthode non géré par cet objet"
(Pour la ligne "Selection.Paste").
La cellule conscerné est bien séléctionné (i+2), mais la copie ne marche pas.
Merci d'avance pour votre aide,
Cordialement.