Excel Copier coller après un test
Kris
-
Paf -
Paf -
Bonjour,
Je débute en macro et je n'arrive pas à résoudre mon problème.
Je dois traiter un fichier de 42000 ligne où uniquement la colonne A contient des données de la façon suivante :
Si le premier caractère de la ligne est un chiffre je copie la ligne dans la feuille 2 à la première ligne non vide
Si le premier caractère n'est pas un chiffre je concatène la ligne avec la ligne précédente dans la feuille 2
par exemple si j'ai en feuille 1 les données suivantes
1djsfhqoufh
jkjkdfioh
23dkjfio
je dois obtenir le résultat suivant en feuille 2
1djsfhqoufhjkjkdfioh
23dkjfio
Merci d'avance pour tout aide
Je débute en macro et je n'arrive pas à résoudre mon problème.
Je dois traiter un fichier de 42000 ligne où uniquement la colonne A contient des données de la façon suivante :
Si le premier caractère de la ligne est un chiffre je copie la ligne dans la feuille 2 à la première ligne non vide
Si le premier caractère n'est pas un chiffre je concatène la ligne avec la ligne précédente dans la feuille 2
par exemple si j'ai en feuille 1 les données suivantes
1djsfhqoufh
jkjkdfioh
23dkjfio
je dois obtenir le résultat suivant en feuille 2
1djsfhqoufhjkjkdfioh
23dkjfio
Merci d'avance pour tout aide
A voir également:
- Excel Copier coller après un test
- Test performance pc - Guide
- Historique copier coller - Guide
- Liste déroulante excel - Guide
- Test disque dur - Télécharger - Informations & Diagnostic
- Copier coller pdf - Guide
2 réponses
Bonjour,
Je ne suis pas un pro en vba mais peut-être que ce code peut vous convenir
Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim num As Variant
i = 1
j = 0
While IsEmpty(Sheets("Feuil1").Range("A" & i)) = False
If IsNumeric(Left(Sheets("Feuil1").Range("A" & i), 1)) = True Then
j = j + 1
Sheets("Feuil2").Range("A" & j) = Sheets("Feuil1").Range("A" & i)
Else
Sheets("Feuil2").Range("A" & j) = Sheets("Feuil2").Range("A" & j) & Sheets("Feuil1").Range("A" & i)
End If
i = i + 1
Wend
End Sub
Je ne suis pas un pro en vba mais peut-être que ce code peut vous convenir
Private Sub CommandButton1_Click()
Dim i, j As Integer
Dim num As Variant
i = 1
j = 0
While IsEmpty(Sheets("Feuil1").Range("A" & i)) = False
If IsNumeric(Left(Sheets("Feuil1").Range("A" & i), 1)) = True Then
j = j + 1
Sheets("Feuil2").Range("A" & j) = Sheets("Feuil1").Range("A" & i)
Else
Sheets("Feuil2").Range("A" & j) = Sheets("Feuil2").Range("A" & j) & Sheets("Feuil1").Range("A" & i)
End If
i = i + 1
Wend
End Sub
bonjour,
est que ce code pourrait convenir ( nom des feuilles à adapter) :
bonne suite
est que ce code pourrait convenir ( nom des feuilles à adapter) :
Dim Maligne As Long, Derlig As Long
Derlig = Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
Maligne = 0
For i = 1 To Derlig
If Left(Cells(i, 1).Value, 1) < 10 Then 'si chiffre
Maligne = Maligne + 1
Sheets("Feuil2").Cells(Maligne, 1).Value = Sheets("Feuil1").Cells(i, 1).Value
Else
Sheets("Feuil2").Cells(Maligne, 1).Value = Sheets("Feuil2").Cells(Maligne, 1).Value & Sheets("Feuil1").Cells(i, 1).Value
End If
Next
bonne suite