Excel Copier coller après un test

Kris -  
 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

2 réponses

  1. Utilisateur anonyme
     
    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
    0
  2. Paf
     
    bonjour,

    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
    0