Exécuter cette macro sur toute la colonne
Résolu
nonossov
Messages postés
610
Date d'inscription
Statut
Membre
Dernière intervention
-
nonossov Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
nonossov Messages postés 610 Date d'inscription Statut Membre Dernière intervention -
Bonjour Mes amis
Voici le code du macro, s'il est possible je dois l'exécuter sur toute la colonne B,
Merci pour votre aide :)
Voici le code du macro, s'il est possible je dois l'exécuter sur toute la colonne B,
Public [/contents/446-fichier-sub Sub] CorrectionDateScanfact() Selection.NumberFormat = "dd/mm/yyyy;@" Dim myDate As Range Dim dkoupDate() As String For Each myDate In Selection If (myDate.Text = "") Or (IsNull(myDate.Text)) Then Exit For ElseIf ((myDate.Text) Like "-*") Then myDate.Value = "" Else dkoupDate = Split(myDate.Text, "-") If dkoupDate(1) = "Jan" Then dkoupDate(1) = "01" ElseIf dkoupDate(1) = "Feb" Then dkoupDate(1) = "02" ElseIf dkoupDate(1) = "Mar" Then dkoupDate(1) = "03" ElseIf dkoupDate(1) = "Apr" Then dkoupDate(1) = "04" ElseIf dkoupDate(1) = "May" Then dkoupDate(1) = "05" ElseIf dkoupDate(1) = "Jun" Then dkoupDate(1) = "06" ElseIf dkoupDate(1) = "Jul" Then dkoupDate(1) = "07" ElseIf dkoupDate(1) = "Aug" Then dkoupDate(1) = "08" ElseIf dkoupDate(1) = "Sep" Then dkoupDate(1) = "09" ElseIf dkoupDate(1) = "Oct" Then dkoupDate(1) = "10" ElseIf dkoupDate(1) = "Nov" Then dkoupDate(1) = "11" ElseIf dkoupDate(1) = "Dec" Then dkoupDate(1) = "12" Else MsgBox ("Une erreur s'est produite lors de la convertion de la date") End If myDate.NumberFormat = "dd/mm/yyyy;@" 'on enregistre la nouvelle date myDate.Value = DateSerial(dkoupDate(2), dkoupDate(1), dkoupDate(0)) End If Next myDate End Sub
Merci pour votre aide :)
A voir également:
- Exécuter cette macro sur toute la colonne
- Déplacer colonne excel - Guide
- Trier colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Colonne word - Guide
- Formule somme excel colonne - Guide
1 réponse
Bonjour,
Public Sub CorrectionDateScanfact()
Dim myDate As Range
Dim dkoupDate() As String
With Worksheets("feuil1")
derlig = .Range("B" & Rows.Count).End(xlUp).Row
Set Plage = .Range("B1:B" & derlig)
End With
Plage.NumberFormat = "dd/mm/yyyy;@"
For Each myDate In Plage
If (myDate.Text = "") Or (IsNull(myDate.Text)) Then
Exit For
ElseIf ((myDate.Text) Like "-*") Then
myDate.Value = ""
Else
dkoupDate = Split(myDate.Text, "-")
If dkoupDate(1) = "Jan" Then
dkoupDate(1) = "01"
ElseIf dkoupDate(1) = "Feb" Then
dkoupDate(1) = "02"
ElseIf dkoupDate(1) = "Mar" Then
dkoupDate(1) = "03"
ElseIf dkoupDate(1) = "Apr" Then
dkoupDate(1) = "04"
ElseIf dkoupDate(1) = "May" Then
dkoupDate(1) = "05"
ElseIf dkoupDate(1) = "Jun" Then
dkoupDate(1) = "06"
ElseIf dkoupDate(1) = "Jul" Then
dkoupDate(1) = "07"
ElseIf dkoupDate(1) = "Aug" Then
dkoupDate(1) = "08"
ElseIf dkoupDate(1) = "Sep" Then
dkoupDate(1) = "09"
ElseIf dkoupDate(1) = "Oct" Then
dkoupDate(1) = "10"
ElseIf dkoupDate(1) = "Nov" Then
dkoupDate(1) = "11"
ElseIf dkoupDate(1) = "Dec" Then
dkoupDate(1) = "12"
Else
MsgBox ("Une erreur s'est produite lors de la convertion de la date")
End If
myDate.NumberFormat = "dd/mm/yyyy;@"
'on enregistre la nouvelle date
myDate.Value = DateSerial(dkoupDate(2), dkoupDate(1), dkoupDate(0))
End If
Next myDate
End Sub
nonossov
Messages postés
610
Date d'inscription
Statut
Membre
Dernière intervention
Merci Mr, vous avez fait un excellent travail merci,