Suppression de cellules

Bonjour,
je souhaiterai que par un simple bouton (ou une simple opération en tout cas car les personnes qui vont l'utiliser n'ont pas ... la fibre technologique) je puisse effacer des cases :
http://www.cjoint.com/c/GAeg1pg2akl
Dans ce document par exemple je souhaiterais qu'en
A1 : un bouton ou une formule pour que quand je "l'active"
les cases bleues de la colonne C se vident (effacement du contenu, de la formule quoi) et ne soient pas supprimées (pas de décalage de cellules)
A2 : même principe mais pour la dernière colonne du tableau (AN je pense)

Merci à vous, si vous n'avez pas saisit ce que je souhaite faire, n'hésitez pas à me questionner. Leo.

PS: je ne sais meme pas si c'est possible, si il faut du VBA, une maccro ou simplement une formule.

5 réponses

  1. Bonjour,

    L'utilisation d'une macro est nécéssaire.
    En voici un exemple, certainement optimable mais fait ce qu'on lui demande :

    Sub supprDebut()
    For i = 1 To 172 'A augmenter si des lignes sont ajoutées en dessous
    If (Range("C" & i).Interior.ColorIndex = 33) Then 'Si la couleur de fond est bleu
    Range("C" & i).Value = "" 'Je vide la cellule
    End If
    Next
    MsgBox ("La colonne C a été vidée") 'Petit message indiquant que la macro a terminée son travail
    End Sub

    Il faut ensuite faire pareil en remplaçant C par AG.

    Bonne journée,
    -NoeGo-
    1
    1. Merci bien mais la couleur etait donné a titre d'exemple, je veux dire par la que dans mon vrai fichier, elles seront blanches, comme les autres.
      Bref Theboss68 ton fichier est pas mal mais j'ai une question encore :
      le codage du VBA supprime les colonnes C (ca c'est bon ca sera toujours cette colonne) et la colonne AG : le problème c'est que cette colonne est ammenée à bouger, cad que plutot que fixer le VBA sur cette colonne, y aurait il moyen qu'il le fasse sur "la dernière colonne du tableau" ? Rien est inscrit a droite de cette colonne de toute facon, mais je ne peux pas donner comme point de repère AG parce que pareil elle sera en AD ... plus tard.

      Cdlmt, Leo.
      0
      1. Re

        LeoTaba tu fais un Alt + F11 pour visualiser la fenêtre VBA, tu double-clic dans le module1 qui se trouve sur la partie de gauche et tu modifies la plage actuel ("AG4:AG200") par celle que tu veux exemple ("AH4:AH200")

        Voir lien du p'tit screen et pour le visualiser correctement tu clic sur

        https://www.cjoint.com/c/GAflQixkM6j

        En espérant avoir répondu à ta question

        Slts
        0
        1. Merci pour cette info, mais à part cette technique y a t-il moyen que
          l'ordinateur reconnaisse la derniere colonne du tableau pour l'effacer ?
          Leo
          0
        2. @LeoTabaEt sinon (en vrai ce serait surement le plus simple) y a une formule ou un codage VBA pour
          "nettoyer" notre ActiveSheet de tout les #REF ou #VALEUR! ?
          Cad effacer le contenu des cellules affichant ces erreurs de notre feuille a l'aider d'une maccro (certainement)(pas les supprimer ce qui provoquerait un décalage, et pas non plus un affichage vierge, du genre "codage qui change la police en blanc sur fond blanc pour qu'on voit plus l'erreur").
          Si un tel codage existe il m'eviterait de faire tout ces jonglages.
          Cdlmt, Leo
          0
      2. Contributeur
        Bonjour,

        Sub suppErr()
            Dim pl As Range
            Set pl = Cells.SpecialCells(xlCellTypeFormulas, xlErrors)
            If Not pl Is Nothing Then pl.ClearContents
        End Sub

        Si tu veux restreindre à qq colonnes remplacer Cells par le Range.
        eric

        0