Suppression de cellules

LeoTaba Messages postés 5 Statut Membre -  
eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   -
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. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182
     
    Bonjour

    J'ai constater qu'ils y a des formules dans tes plages de données, donc si cla ne te dérange pas de les supprimer voir cet essai

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

    Slts
    1
  2. -NoeGo- Messages postés 55 Statut Membre 12
     
    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
  3. LeoTaba Messages postés 5 Statut Membre
     
    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
  4. The_boss_68 Messages postés 959 Date d'inscription   Statut Membre Dernière intervention   182
     
    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. LeoTaba
       
      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
      1. LeoTaba > LeoTaba
         
        Et 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    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