Conversion format date

AIDE SVP
bonjour je veux une macro pour convertir automatiquement mes dates en bon format
j’ai les formats suivants: 20211101 et je veux convertir en 11/01/2021

Bonjour
Teste ceci

Sub Test()
  Dim i%, Dl%
  Dim Ws As Worksheet
  Set Ws = Sheets("Feuil1")
  Dl = Ws.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To Dl
      Ws.Cells(i, 1) = Mid(Ws.Cells(i, 1), 5, 2) & "/" & Mid(Ws.Cells(i, 1), 7, 2) & "/" & Mid(Ws.Cells(i, 1), 1, 4)
    Next i
End Sub

ça marche sauf que il y a encore un souci.
je veux que pour les cellules vides on obtienne l’inscription « NULL »

Re,
La prochaine fois, place toutes les demandes, pour être quitte de revenir 36 fois

Sub Test()
  Dim i%, Dl%
  Dim Ws As Worksheet
  Set Ws = Sheets("Feuil1")
  Dl = Ws.Range("A" & Rows.Count).End(xlUp).Row
    For i = 2 To Dl
      If Ws.Cells(i, 1) = "" Then
        Ws.Cells(i, 1) = "NULL"
      Else
        Ws.Cells(i, 1) = Mid(Ws.Cells(i, 1), 5, 2) & "/" & Mid(Ws.Cells(i, 1), 7, 2) & "/" & Mid(Ws.Cells(i, 1), 1, 4)
      End If
    Next i
End Sub

Merci Mimimathy
j’ai aussi un autre problème:
j’ai 3 colonnes A, B et C
A contient des chaines de caractère
B des nombres
C est à remplir
je souhaite comparer des cellules successives de la colonne A deux a deux.
s’il y a égalité, je veux reporter le minimum parmi les nombres en face dans la colonne c
aidez moi avec une macro svp
ex: a2=ballon et b2=10
a3=ballon et b3=9
je veux qu’on obtienne
c2=9
c3=9

Re,
image

minimum a renseigner.xlsx (8,2 Ko)
voici comment se présentent les données

Re,
Nul besoin de VBA
Une simple formule suffit
A mettre en C2 et valider par les 3 touches CTRL MAJ et ENTREE et tirer la formule vers le bas

=MIN(SI($A$2:$A$13=A2;$B$2:$B$13))

ça ne marche comme espéré.
il me ramene le minimum de la colonne qui est 0
de plus, j’ai des milliers de lignes, c’est pourquoi je souhaite avoir une fonction pour généraliser et appliquer si j’ai un tel fichier encore

Re,
-1) Il faut lire et faire comme expliqué, et cela fonctionne
minimum a renseigner.xlsx (14,6 Ko)

-) Il faut préciser de nombre de ligne quand on pose des questions, je ne suis pas derrière vous, ni devin

Re,
Teste ceci

Sub Test()
  Dim Plage As Range
  Dim I As Long
  Set Plage = Range("A1:A13")
  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
    For I = 2 To Range("A" & Rows.Count).End(xlUp).Row
      Range("C" & I).FormulaArray = "=MIN(IF((" & Plage.Address & "=A" & I & ")," & Plage.Offset(, 1).Address & "))"
      Range("C" & I).Value = Range("C" & I).Value
    Next I
    Application.Calculation = xlCalculationAutomatic
End Sub

Bonjour, je teste et je reviens

SUPER IL MARCHE BIEN
MERCi

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.