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 :

problème suppression de cellules en vba


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 33
    Par défaut problème suppression de cellules en vba
    Bonjour a tous
    voici mon présent problème :
    j'ai une colonne A avec A1 la formule =B1&C1 dedans, A2avec =B2&C2...
    je voudrais en vba que dès que B ou C est vide alors une macro en vba me supprime la formule contenu dans la cellule A correspondante
    je vous remercie d'avance

  2. #2
    Membre Expert Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Par défaut
    bonjour

    tu peux faire un petit truc qui ressemble à ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    dim rng as range
     
    for each rng in range("A:A")
        if rng="" then rng.formula=""
    next rng

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 33
    Par défaut
    je rentre cela mais ça me fait planter la base (on dirait qu'il ne s'arrette jamais), pourquoi ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    sub form
    Sheets("Donnée").Select
        Dim rng As Range
     
    For Each rng In Range("A1:A5000")
        If rng = "" Then rng.Formula = ""
    Next rng
    end sud

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Comme cela sans doute
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub form()
      Sheets("Donnée").Select
      Dim rng As Range
     
      For Each rng In Range("A1:A5000")
        If rng.Offset(0, 1) = 0 And rng.Offset(0, 2) = 0 Then
           rng.Formula = ""
        End If
      Next rng
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir à tou(te)s,

    vu cette citation :
    je voudrais en vba que dès que B ou C est vide
    j'aurais mis, à la place de "and" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If rng.Offset(0, 1) = 0 or rng.Offset(0, 2) = 0 Then
    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 170
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 170
    Billets dans le blog
    53
    Par défaut
    Exact, mal lu
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 33
    Par défaut
    oui, oui j'ai bien mis cela au début et fin de ma macro.....

  8. #8
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonsoir.

    Pour faire avec un tableau :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim v As Variant, x As Long
     
    v = ThisWorkbook.Worksheets("NomFeuille").Range("A1:I5000").Formula
     
    For x = 1 To UBound(v, 1)
        If v(x, 1) = 0 Then
            v(x, 7) = Empty
            v(x, 9) = Empty
        End If
    Next x
     
    ThisWorkbook.Worksheets("NomFeuille").Range("A1:I5000").Formula = v
    Si je ne me suis pas trompé sur les indices...

    PGZ

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    bonsoir,
    tu n'a peut-etre pas 5000 lignes à vérifier, et si je reprends ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    For Each rng In Range("A1:A" & rows.count).end(xlup).row
    If Len(rng) = 0 Then
    ' Ici le code de suppression
    rng.Offset(0, 6).Formula = "" 
    rng.Offset(0, 8).Formula = ""
    End If
    Next rng
    ca devrait déjà soulager

    PS : excuses-moi pgz, pas vu ta réponse
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

Discussions similaires

  1. [VBA-E] Problème d'offset cellule
    Par GI_GI dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/01/2007, 10h47
  2. [VBA - Excel] Problème de deux cellules sur l'evenement OnChange
    Par champmart dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 10/01/2007, 17h06
  3. Problème de formatage de cellule par VBA
    Par ppe52 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 21/12/2006, 12h12
  4. [VBA] problème choix de cellule dans feuille excel
    Par beegees dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/02/2006, 10h48
  5. [VBA-A] Problème Suppression enreg en cours
    Par _developpeur_ dans le forum Access
    Réponses: 2
    Dernier message: 17/10/2005, 20h08

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