Ce code créera une macro pour déplacer vos données en fonction de la lettre précédant le nombre dans chaque cellule de la colonne B
. Collez ceci dans l'explorateur VBA ( Alt + F11 ) et il apparaîtra dans la fenêtre de la macro sous la forme suivante MoveData
.
Vous verrez que le code examine chaque cellule pour voir quel est le caractère le plus à gauche. Si c'est un k
le contenu de la cellule est copié dans la cellule située 1 place à droite (colonne C), puis efface la cellule d'origine. Si le caractère est un g
il est copié dans la cellule située 2 places à droite (colonne D), puis efface la cellule d'origine.
Sub MoveData()
Dim myrange, cell As Range
Set myrange = ActiveSheet.Range("B:B", Range("B:B").End(xlDown))
For Each cell In myrange
If Left(cell.Value, 1) = "k" Then
cell.Offset(0, 1).Value = cell.Value
cell.ClearContents
ElseIf Left(cell.Value, 1) = "g" Then
cell.Offset(0, 2).Value = cell.Value
cell.ClearContents
End If
Next cell
'Delete empty cells in column C
Columns("C:C").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
'Delete empty cells in column D
Columns("D:D").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp
ActiveSheet.Range("A1").Select
End Sub
Vous pouvez changer les valeurs qu'il recherche en modifiant le champ "k"
o "g"
dans le IF
déclarations.
Avis de non-responsabilité : A utiliser à vos risques et périls. Faites une copie de sauvegarde de votre travail. Nous ne sommes pas responsables de la perte de données.