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 :

Supprimer du texte en supprimant une somme [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 660
    Par défaut Supprimer du texte en supprimant une somme
    Bonjour le forum,
    Je voudrais ajouter dans ThisWorkbook une instruction pour faire effacer un commentaire dans colonnes G à I (fusionnées) si j'efface dans colonne B ou E une somme (voir macro ci-dessous)
    Je ne sais où le placer.
    merci d'avance pour vos éventuels retours
    Bon WE à tous

    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
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim NombreJour As Integer
    Dim Ladate As Date
     
      If Target.Count > 1 Then Exit Sub
      Application.EnableEvents = False
      ' On recherche si la page est surveillée
      If Left(Sh.Name, 7) = "Charges" Then
        If Not Intersect(Range("B8:B70,E8:E70"), Target) Is Nothing Then
          If Target.Interior.ColorIndex = 2 Then
            ' Si la colonne B et la colonne E est vide on efface la date
            Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("E" & Target.Row) = "", "", Date)
          End If
        End If
      End If
      Application.EnableEvents = True
    End Sub

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut
    Il faut revoir ta question je pense
    si j'efface dans colonne B ou E une somme
    Tu ne les efface jamais dans ton code, c'est la cellule contenu dans la colonne A que tu effaces.
    Est-ce que tu veux prendre en compte le fait qu'il y ait une somme dans la cellule A...
    Ou vraiment effacer le contenu des cellules B et E mais alors il faudra nous dire quand est-ce qu'il faut les vider.

    Autre chose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ' Si la colonne B et la colonne E est vide on efface la date
            Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("E" & Target.Row) = "", "", Date)
    Le code ne fait pas du tout ce qui est inscrit en commentaire, c'est normal?
    Traduction du code
    Si B et E sont vides alors A est vidé et si B ou E contient quelque chose alors on met la date du jour dans A

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  3. #3
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 660
    Par défaut
    Bonjour Qwaz,
    Lorsque je mets une somme dans colonne B ou E ça met une date figée dans colonne A. Si je me suis trompé de somme et que je fasse suppr dans colonne B ou E ça supprime la date. J'ai ajouté des commentaires dans colonnes fusionnées qui vont de G à I . Lorsque je fais le même Suppr je voudrais que le commentaire soit aussi effacé.
    Je ne sais pas si j'ai été très clair!!! C'est mon éternel "problème" et je m'en excuse par avance.
    Merci de tes réponses
    Bonne journée

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    Donc je je comprends bien, le fait que ce soit une somme n'a pas d'importance, il faut juste retirer les commentaire si le contenu de E et B est vide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    If Target.Interior.ColorIndex = 2 Then
        If Range("B" & Target.Row) & Range("E" & Target.Row) = "" Then
            ' Si la colonne B et la colonne E est vide on efface la date
            Range("A" & Target.Row) = ""
            ' Et les commentaires placés sur les colonne G à I
            Range("G" & Target.Row, "I" & Target.Row).Comment.Delete
        Else
            Range("A" & Target.Row) = Date
        End If
    End If
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre très actif
    Homme Profil pro
    Moi, je ne fais que passer, excusez le dérangement
    Inscrit en
    Mars 2013
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Vienne (Limousin)

    Informations professionnelles :
    Activité : Moi, je ne fais que passer, excusez le dérangement

    Informations forums :
    Inscription : Mars 2013
    Messages : 660
    Par défaut
    Lorsque je fait Suppr dans une cellule colonnes B ou E ça efface la date dans une cellule colonne A mais ça doit aussi effacer les commentaires colonnes G à I (fusionnées)
    Lorsque tu fais une nouvelle macro peux-tu STP incorporer dans ma macro d'origine le nouveau code car là ça bug pas mal.
    Merci de t'intéresser à mon "problème" (tout est relatif)
    Bien cordialement

    Voilà ça fait ce que je veux.
    Merci pour ton aide
    Bon WE à toi

    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
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim NombreJour As Integer
    Dim Ladate As Date
     
      If Target.Count > 1 Then Exit Sub
      Application.EnableEvents = False
      ' On recherche si la page est surveillée
      If Left(Sh.Name, 7) = "Charges" Then  'Le chiffre 7 = Nombre de lettres du mot "Charges".On peut mettre 8 avec un espace après "Charges " pour une sécurité.
        If Not Intersect(Range("B8:B70,E8:E70"), Target) Is Nothing Then
          If Target.Interior.ColorIndex = 2 Then
            ' Si la colonne B et la colonne E est vide on efface la date
            Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("E" & Target.Row) = "", "", Date)
            Range("G" & Target.Row, "I" & Target.Row).ClearContents  'Commentaires placés dans les colonnes G à I
          End If
        End If
      End If
      Application.EnableEvents = True
    End Sub

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 122
    Par défaut
    Salut

    Attention
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If Target.Interior.ColorIndex = 2 Then
            ' Si la colonne B et la colonne E est vide on efface la date
            Range("A" & Target.Row) = IIf(Range("B" & Target.Row) & Range("E" & Target.Row) = "", "", Date)
            Range("G" & Target.Row, "I" & Target.Row).ClearContents  'Commentaires placés dans les colonnes G à I
    End If
    ClearContents supprime le contenu de la cellule pas un commentaire qui lui serait attaché. Je pense que tu n'utilises pas le mot "commentaire" dans le bon sens. Sur Excel un "Commentaire" est ajouté à la cellule en faisant clique droit sur la cellule puis "Insérer un commentaire".

    Avec un tel code les "commentaires"(pour toi le contenu de cellules) seront supprimés à chaque fois et pas uniquement quand B et E seront vides.

    Voila la modification... incorporé dans le code... un peu effort n'est pas interdit
    J'ai aussi modifié l’appellation de la cellule commentaire, car je viens de voir qu'il s'agit de cellules fusionnées.

    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
    19
    20
    21
    22
    23
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    Dim NombreJour As Integer
    Dim Ladate As Date
     
      If Target.Count > 1 Then Exit Sub
      Application.EnableEvents = False
      ' On recherche si la page est surveillée
      If Left(Sh.Name, 7) = "Charges" Then
        If Not Intersect(Range("B8:B70,E8:E70"), Target) Is Nothing Then
            If Target.Interior.ColorIndex = 2 Then
                If Range("B" & Target.Row) & Range("E" & Target.Row) = "" Then
                    ' Si la colonne B et la colonne E est vide on efface la date
                    Range("A" & Target.Row) = ""
                    ' Et les commentaires placés sur les colonne G à I
                    Range("G" & Target.Row).ClearContents 'Je viens de voir dans un de tes message qu'il s'agit de cellules fusionnées qui vont de G à I, donc pas besoin de nommer la plage
                Else
                    Range("A" & Target.Row) = Date
                End If
            End If
        End If
      End If
      Application.EnableEvents = True
    End Sub
    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. [XL-2010] Supprimer du texte dans une cellule
    Par drn_008 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/04/2014, 15h01
  2. Supprimer du texte d'une colonne (pas tout)
    Par melix1 dans le forum Débuter
    Réponses: 10
    Dernier message: 11/01/2011, 01h51
  3. Empêcher de supprimer le texte d'une combo-box
    Par jacko842 dans le forum VB.NET
    Réponses: 4
    Dernier message: 14/04/2010, 21h15
  4. Supprimer le texte d'une zone de texte en cliquant sur un bouton ?
    Par beegees dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/02/2008, 13h53
  5. [HTML] Supprimer le multi ligne d'une zone de text
    Par Furius dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 29/11/2005, 14h49

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