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

Excel Discussion :

Remplissage automatique si cellule vide


Sujet :

Excel

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 1
    Par défaut Remplissage automatique si cellule vide
    Bonjour à tous,

    Pour situer le contexte, je réalise une base de données qui regroupe plusieurs autres bases. Cette base regroupe un ensemble documentaire (notes, courriers, plans, etc.) et chaque ligne renseigne un document par son titre ainsi que divers autres champs (auteur, sujet, périmètre technique, etc.). Je n'effectue pas de concaténation en tant que tel mais plutôt une simple adaptation des bases à importer sur leurs formes (sélection des colonnes pouvant être renseignées dans la base globale, suppression des colonnes inutiles, etc.).

    Une macro me permet pour chacun des documents (chacune des lignes tu tableau Excel), à partir du titre du document, d'identifier des données utiles pour d'autres colonnes de la ligne de renseignement du document et de remplir automatiquement les colonnes concernées (4 colonnes sont concernées) si un terme recherché est trouvé dans la cellule "titre".

    L'ordre des opérations est le suivant :
    1 - je copie les colonnes de ma base à importer dans la nouvelle base directement en dessous de la dernière ligne renseignée.
    2 - je lance la macro de recherche.
    3 - les colonnes concernées par le remplissage auto se remplissent par des termes définis dans la macro si des termes également définis dans la macro sont trouvés dans le titre du document.

    Voici mon problème : parmi ces colonnes concernées par la macro de remplissage auto certaines cellules sont déjà renseignées sur les bases d'origine. Or la macro fonctionne tel que si rien n'est identifié dans le titre du document alors la valeur renvoyée dans la cellule est " " (rien / cellule vide). Je ne souhaite pas effacer les informations qui sont déjà renseignées dans ces cellules. Je souhaite donc que ma macro identifie que la cellule est non vide et qu'elle ne remplace pas sa valeur par " " ou bien par la nouvelle valeur qu'elle aura trouvé dans la cellule du titre.

    Exemple :

    Sub Fruit()
    Dim h As Integer
    'Boite de dialogue pour entrer le numéro de la dernière ligne
    h = InputBox("Numéro de la dernière ligne renseignée ?", "Numéro")
    'Définition de trois tableaux pour contenir les trois informations correspondant à chacun des fruits
    Dim a(10000)

    ' Boucle sur l'ensemble des cellules de la colonnes A
    For i = 1 To h
    ' Définition des termes à trouver pour renvoyer le fruit fraise
    With Worksheets(1).Range("A" & i)
    Set a1 = .Find(fraise)
    Set b1 = .Find("fraise des bois")
    Set c1 = .Find("gariguette")
    Set d1 = .Find("charlotte")

    ' Si le terme est trouvé dans la cellule "Ai" on incrémente de 1 la valeur de a(i)

    If Not a1 Is Nothing Then
    a(i) = a(i) + 1
    End If
    If Not b1 Is Nothing Then
    a(i) = a(i) + 1
    End If
    If Not c1 Is Nothing Then
    a(i) = a(i) + 1
    End If
    If Not d1 Is Nothing Then
    a(i) = a(i) + 1
    End If

    End With
    Next i

    ' Boucle sur les cellules de la colonne A
    For i = 3 To h
    ' Si a(i) est non nul et que b(i) et c(i) sont nuls, le fruit est fraise
    If Not (a(i) = 0) Then
    Range("O" & i) = "fraise"
    End If
    Next i

    End Sub

    Ainsi, en Oi (pourquoi mentionnes-tu O2 ?) la macro me permet d'afficher "fraise" si en Ai (colonne des titres) un des termes "fraise", "fraise de bois", "gariguette" ou "charlotte" sont rencontrés. Dans mon fichier Excel j'ai effectivement répété cette macro 3 fois afin de pouvoir remplir les colonnes Pi, Qi et Ri --> Cette macro fonctionne, mon problème n'est pas ici mais plutôt dans les commentaires sur la feuille Excel jointe.

    Nota : je suis conscient que la macro peut paraître bien chiadée pour pas grand chose mais l'exemple est simplifié et dans la base réelle je fais des recherche de combinaisons de "fruits" pour renseigner la case cible en conséquence ce qui impose un peu la structure présentée dans l'exemple.

    Merci à tous pour votre contribution future, je reste disponible pour plus d'explication si nécessaire.

    Fabien.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre éclairé Avatar de verredewhisky
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Janvier 2013
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Janvier 2013
    Messages : 63
    Par défaut
    J'ai pas lu tout ton énoncé mais pour éviter qu'il modifie des cellules non vides tu peux utiliser ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    if Range("A1").value <> "" then
     
    'pas vide donc rien faire
     
    else
     
    'faire ta salade
    'Range("A1").value = 42
     
    end if
    Je sais pas si ça répond à ta question mais si jamais repost.

Discussions similaires

  1. Remplissage automatique de cellules
    Par nico93100 dans le forum Excel
    Réponses: 3
    Dernier message: 07/11/2010, 10h27
  2. [XL-2007] remplissage automatique de cellules (Bug range) Debutant
    Par isfet dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 31/05/2010, 10h43
  3. [XL-2007] Remplissage occasionnel des cellules vides
    Par Phicome dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 15/12/2009, 16h34
  4. remplissage automatique de cellule
    Par bosk1000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/02/2009, 19h33
  5. Remplissage automatique de cellules Excel à partir d'une liste
    Par Gullivert dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 31/08/2006, 17h48

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