Suppression de cellules

Fermé
LeoTaba Messages postés 5 Date d'inscription mercredi 21 décembre 2016 Statut Membre Dernière intervention 5 janvier 2017 - 4 janv. 2017 à 11:33
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 - 6 janv. 2017 à 10:26
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

The_boss_68 Messages postés 929 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 3 décembre 2024 178
4 janv. 2017 à 14:32
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
-NoeGo- Messages postés 52 Date d'inscription mercredi 28 décembre 2016 Statut Membre Dernière intervention 7 mai 2021 11
4 janv. 2017 à 14:37
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
LeoTaba Messages postés 5 Date d'inscription mercredi 21 décembre 2016 Statut Membre Dernière intervention 5 janvier 2017
5 janv. 2017 à 08:03
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
The_boss_68 Messages postés 929 Date d'inscription dimanche 15 novembre 2015 Statut Membre Dernière intervention 3 décembre 2024 178
5 janv. 2017 à 12:49
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
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
LeoTaba > LeoTaba
6 janv. 2017 à 08:24
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 248
6 janv. 2017 à 10:26
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