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 :

Compléter les cases vides d'un tableau [XL-2019]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 21
    Par défaut Compléter les cases vides d'un tableau
    Bonjour,

    J'ai dans un fichier 4 tableaux les uns sous les autres complétés par VBA. Dans les données, il y a des colonnes vides présentes dans le fichier d'origine. Ces colonnes vides posent soucis dans le traitement des données. Pour l'instant, je les nomme dans ma macro et je demande d'écrire "NC". Je souhaiterais savoir s'il existe une méthode permettant de balayer un tableau et d'écrire "NC" dans les cases vides rencontrées sans trop alourdir le programme. Précision, les colonnes vides ne sont pas les mêmes dans les quatre tableaux. Pour deux d'entre eux, c'est la colonne J, pour les deux autres L.

    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 241
    Par défaut
    Bonjour,

    Un exemple pour un tableau en A1:E10, à adapter selon vos besoin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Remplissage_Cellules_Vides()
        Application.ScreenUpdating = False
        Set Plage1 = Range("A1:E10") 'Tableau 1
        For Each cell In Plage1
            If cell = "" Then cell.Value = "NC"
        Next
    End Sub
    Cdlt

  3. #3
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 438
    Par défaut
    Bonjour,

    Si la plage est connue, la méthode .Replace est la plus simple. Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1:B6").Replace What:="", Replacement:="NC", LookAt:=xlWhole
    Cordialement.

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Tu peux utiliser les SpecialCells pour traiter ce genre de cas, en considérant que les cellules sont bien vides, c'est-à-dire qu'il n'y a rien dedans, pas même une formule qui renverrait ""

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    range("a1:d10").SpecialCells(xlCellTypeBlanks).Value="NC"
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  5. #5
    Membre averti
    Femme Profil pro
    Enseignant
    Inscrit en
    Décembre 2019
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2019
    Messages : 21
    Par défaut
    Bonjour,

    Merci à tous les trois pour vos réponses. Les messages de Pierre Fauconnier et ARTURO83 vont m'être très utiles, je pense, même s'il va probablement que j'apporte quelques adaptations au code proposé. Celui d'EricDgn est intéressant (je retiens cette solution pour une prochaine fois), mais il ne conviendra pas à ce cas de figure, justement parce que les colonnes vides ne sont pas forcément connues.

    Je teste ce week-end et je vous tiens au courant.

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

Discussions similaires

  1. [RegEx] Enlever le chemin d'accès a un dossier grace au regex
    Par PunkMetal dans le forum Langage
    Réponses: 2
    Dernier message: 19/10/2016, 02h13
  2. Réponses: 2
    Dernier message: 15/12/2011, 09h09
  3. [TP] Chemin d'accés du dossier courant
    Par Coucougnou dans le forum Turbo Pascal
    Réponses: 6
    Dernier message: 05/05/2008, 18h00
  4. Comment récupérer le chemin d'accès au dossier TEMP
    Par antonius_marcus dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 10/04/2008, 23h09
  5. Selection d'un dossier et récupération du chemin
    Par Nicko29 dans le forum VBA Access
    Réponses: 2
    Dernier message: 05/11/2007, 12h55

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