Retour à la ligne automatique

Bonsoir,

Ayant à taper de nombreuses fois des données, j'aimerais bien automatiser quelques petites choses :

- Je dois taper des dates sous la formes : 25.07.11 mais j'aimerais bien que les points qui séparent les chiffres se mettent automatiquement, c'est à dire que j'aimerais bien ne taper que 250711 et que ca se mette directement à 25.07.11

- Lorsque que l'on a entré la date complète, ce qui constitue 8 caractères, on passe à la cellule d'à côté directement.

- Lorsque la deuxième cellule est aussi composé de 8 caractères, on passe automatiquement à celle en dessous de la première.

Est-ce possible ?

En vous remerciant beaucoup,

Adrien

PS : ci-joint se trouve un exemple de tableau.

13exemple.zip (3.70 Ko)

bonsoir

pour les . tu peux mettre la plage au format perso ##.##.## (bonjour pour exploiter ce format)

quant au reste ???? sinon qu'a jouer des 4 fleches du clavier

cordialement

COmment faire pour pouvoir correctement exploiter ces résultats en vue de faire des recherches plus tard ? N'est-il vraiment pas possible d'automatiser le tout ? j'ai 65000 dates à rentrer ... donc plus je peux automatisé, mieux ce sera

Cordialement

Bonjour

Sur ce sujet c'est mon maximum autorisé

tipi-54 a écrit :

j'ai 65000 dates à rentrer

Bon courage

C'est tout a fait cela, que dois-je modifier dans le VBA si par exemple les dates à écrire ne se trouvent plus à la collone A mais à la colonne G par exemple ?

Un grand merci !

Bonsoir

Si que la colonne G concernée

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
  If Target.Column <> 7 Then Exit Sub
  On Error Resume Next
  If Len(Target) = 6 Then
    Target = DateSerial(Right(Target, 2), Mid(Target, 3, 2), Left(Target, 2))
  ElseIf Len(Target) = 5 Then
    Target = DateSerial(Right(Target, 2), Mid(Target, 2, 2), Left(Target, 1))
  End If
  On Error GoTo 0
  If Not IsDate(Target) Then
    Target.Interior.ColorIndex = 3
  Else
    Target.Interior.ColorIndex = xlNone
  End If
  Target.Offset(1, 0).Select
End Sub

Les modifications sont surlignées

D'accord, et si cela va de G à H comme dans le précédent exemple avec A et B , que dois marquer ?

Bonsoir

Voilà, voilà

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count > 1 Then Exit Sub
 If Target.Column < 7 Or Target.Column > 8 Then Exit Sub
  On Error Resume Next
  If Len(Target) = 6 Then
    Target = DateSerial(Right(Target, 2), Mid(Target, 3, 2), Left(Target, 2))
  ElseIf Len(Target) = 5 Then
    Target = DateSerial(Right(Target, 2), Mid(Target, 2, 2), Left(Target, 1))
  End If
  On Error GoTo 0
  If Not IsDate(Target) Then
    Target.Interior.ColorIndex = 3
  Else
    Target.Interior.ColorIndex = xlNone
  End If
  If Target.Column =7 Then
    Target.Offset(0, 1).Select
  ElseIf Target.Column =8 Then
    Target.Offset(1, -1).Select
  End If
End Sub

C'est parfait

Merci beaucoup !!

Rechercher des sujets similaires à "retour ligne automatique"