IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Suppression espaces cellules vides en VBA [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut Suppression espaces cellules vides en VBA
    Bonjour à tous,

    Je voudrais rajouter à ma macro, qu'il supprime les espaces dans les cellules "vides" dans ma colonne 17.
    Voici la macro qui me permet déjà de supprimer les espaces avant et après et de transformer par exemples "05 01 2018" en "05/01/2018", donc en date de jour. Il faudrait juste que je complète en rajoutant qu'il doit supprimer les espaces dans les cellules "vides".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    Sub ConvertDate()
     
    Dim i As Long, Temp As String
     
    With Sheets(1)
        Derligne = .Range("A" & Rows.Count).End(xlUp).Row
        For i = 2 To Derligne
            If Not IsError(.Cells(i, 17)) Then
                If Len(Replace(.Cells(i, 17), " ", "")) = 8 Then
                    Temp = Replace(.Cells(i, 17), " ", "")
                    .Cells(i, 17) = DateSerial(CInt(Right(Temp, 4)), CInt(Mid(Temp, 3, 2)), CInt(Left(Temp, 2)))
                End If
            Else: .Cells(i, 17).ClearContents
            End If
        Next i
    End With
     
    End Sub
    Merci de m'aider à compléter mon code

  2. #2
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour Obadj,

    Il faudrait juste que je complète en rajouter qu'il supprimer les espaces dans les cellules "vides".
    Si les cellules sont vides, alors je ne vois pas ce qui doit être supprimé.
    A toute fin utile, tu peux utiliser les fonctions de chaînes de caractères Trim, RTrim et LTrim.
    Autre piste, utiliser la méthode Replace comme tu l'as fait.

    Remarque.
    Dans ton code, j'aurais initialisé la variable Temp avant la condition.
    Ce afin de l'utiliser et alléger le code.

  3. #3
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Marcel, si je le demande c'est qu'il y une utilité. Je m'explique les cellule "vides" comportes plusieurs espaces à l'intérieur de la cellules donc il ne la reconnait pas comme cellules vides...

    Merci de m'aider sur le codage car je sais qu'il s'agit de la fonction Trim mais je n'arrive pas a la faire fonctionner.

    Merci de votre aide !

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut Obadj,

    C'était juste un clin d'oeil

    Pour la fonction Trim, tu peux regarder cette aide

    A plus tard.

  5. #5
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,

    Essaies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Option Explicit
    Sub ConvertDate()
    Dim i&, d&
      With Worksheets(1)
        d = .Range("A" & .Rows.Count).End(xlUp).Row
        For i = 2 To d
          If Not IsError(.Cells(i, "Q").Value) Then
             .Cells(i, "Q").Value = Replace(Trim(.Cells(i, "Q").Text), " ", "/")
          End If
        Next i
      End With
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Décembre 2018
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2018
    Messages : 121
    Par défaut
    Ça a l'air de fonctionner !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche cellule vide Excel VBA
    Par Dens38 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/02/2017, 10h47
  2. [XL-2010] première cellule vide rencontrée VBA
    Par awa123 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/09/2014, 21h14
  3. [XL-2000] detection cellule vide en vba
    Par jerem1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/12/2010, 20h39
  4. Suppression de cellules vides
    Par Damss dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/03/2009, 19h41
  5. suppression de cellule vide
    Par oscar.cesar dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/10/2007, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo