Bonjour à tous,
Je souhaiterais modifier la présentation d'un fichier Excel pour le rendre plus lisible et surtout filtrable.
Le fichier se présente de cette manière :

Première étape, c'est supprimer les lignes vides. Que je fais rapidement en filtrant et sélectionnant les cases vides.
Deuxième étape, c'est de remplir la colonne A de façon a ce que la valeur remplisse les cases jusqu’à la prochaine case remplie

3eme étape, c'est de faire une concaténation de la colonne A avec la colonne B et de coller les valeurs dans la colonne B. Ce qui donne pour la première ligne:
Pour les lignes suivantes :

Il y a un point sur lequel je souhaiterais réparer, c'est lorsqu'il s'agit d'un chiffre seul. exemple

dans ce cas la, il faut rajouter un 0 avant le chiffre.
L'objectif final, c'est d'arriver a ce cas de figure :

Pour y parvenir, je dois faire une macro, car j'ai plusieurs fichiers de ce type a faire.
Malheureusement je ne suis pas très doué.
J'ai trouvé une partie de code qui pourrait faire office mais il ne prends pas en compte la situation de l'ajout du 0 dans la colonne B.
La colonne A est normalisée. Elle est toujours avec 3 caractères.
La colonne B a 3 choix possibles :
Pouvez vous m'aider sur cette présentation des données ?
Je vous remercie.
Je souhaiterais modifier la présentation d'un fichier Excel pour le rendre plus lisible et surtout filtrable.
Le fichier se présente de cette manière :

Première étape, c'est supprimer les lignes vides. Que je fais rapidement en filtrant et sélectionnant les cases vides.
Deuxième étape, c'est de remplir la colonne A de façon a ce que la valeur remplisse les cases jusqu’à la prochaine case remplie

3eme étape, c'est de faire une concaténation de la colonne A avec la colonne B et de coller les valeurs dans la colonne B. Ce qui donne pour la première ligne:
B0F (vide) Moteur
et devient :B0F B0F Moteur
Pour les lignes suivantes :
B0F LE EB2FA
qui devient :B0F B0FLE EB2FA

Il y a un point sur lequel je souhaiterais réparer, c'est lorsqu'il s'agit d'un chiffre seul. exemple

dans ce cas la, il faut rajouter un 0 avant le chiffre.
L'objectif final, c'est d'arriver a ce cas de figure :

Pour y parvenir, je dois faire une macro, car j'ai plusieurs fichiers de ce type a faire.
Malheureusement je ne suis pas très doué.
J'ai trouvé une partie de code qui pourrait faire office mais il ne prends pas en compte la situation de l'ajout du 0 dans la colonne B.
VB:
Attribute VB_Name = "Module_completer"
Sub Remplir_vide()
Dim nb_ligne, nb_colonne As Integer
Dim dep_ligne, dep_colonne As Integer
Dim lin, col As Integer
If Selection.Rows.Count <= 1 And Selection.Columns.Count <= 1 Then
MsgBox ("Ce traitement nécessite de sélectionner la zone à traiter")
Exit Sub
End If
'initialisation
nb_ligne = Selection.Rows.Count
nb_colonne = Selection.Columns.Count
dep_ligne = Selection.Row
dep_colonne = Selection.Column
lin = dep_ligne
col = dep_colonne
While lin < (nb_ligne + dep_ligne)
While col < (nb_colonne + dep_colonne)
If Cells(lin, col) = "" Then Cells(lin, col) = Cells(lin - 1, col)
col = col + 1
Wend
lin = lin + 1
col = dep_colonne
Wend
End Sub
La colonne A est normalisée. Elle est toujours avec 3 caractères.
La colonne B a 3 choix possibles :
Cellule vide : Alors reprendre la chaîne de caractère de la colonne A et la coller dans la colonne B
Cellule avec 1 caractère: Il s'agit de la situation ou il manque le 0 qu'il faut rajouter et ensuite concaténer avec la chaîne de caractère de la colonne A
cellule avec 2 caractère : Il faut concaténer avec la chaîne de caractère de la colonne A
La colonne C contient une chaîne de caractère.Cellule avec 1 caractère: Il s'agit de la situation ou il manque le 0 qu'il faut rajouter et ensuite concaténer avec la chaîne de caractère de la colonne A
cellule avec 2 caractère : Il faut concaténer avec la chaîne de caractère de la colonne A
Pouvez vous m'aider sur cette présentation des données ?
Je vous remercie.