Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Effacer une cellule avec VBA

  • Initiateur de la discussion Fred
  • Date de début
F

Fred

Guest
Bonsoir

Quelqu'un saurait-il comment effacer le contenu d'une cellule avec VBA ??

Voici mon code :

Sub REMISE_A_ZERO()
'macro REMISE A ZERO
'Sélection de la feuille
'sheet ("STATS").select
If Range("A1") = 1 Then 'si A1 est égale à 1 alors
Range("G7") = X 'inscrire X en G7 sinon
Range("G7") = "" 'Effacer le contenu de la cellule G7
End If
End Sub


Merci à toutes et à tous.
 
F

Fred

Guest
Ben non c'est pas possible car de chaque cellule même si tu prends par colonne, ne correspond pas concernant l'axe, le créneau horaire OK, le jour OK mais pas l'axe, donc je peux pas dire de prendre en compte la colonne et de dire que c'est égale à la 1ère celulle, car l'axe n'est pas le même pour les autres celulles !

Merci tout de même
 
J

Jean-Marie

Guest
Fred

Dans la feuille en D11 tu as bien la formule pour la mise en forme conditionnelle =$D$11. Eh bien si tu appliques ce que j'ai marqué tu obtiens le bon résultat. Je persiste et je signe.

Bonne soirée

@+Jean-Marie
 
F

Fred

Guest
ok c'est vrai mais le blème , c'est que quand la celulle est égale à 0 j'ai alors le 0 en rouge et quand j'y ai un chiffre il est en noir, alors que j'aurais voulu l'inverse, je sais pas chiant déjà le mec, mais les goûts et les couleurs .....
 
J

Jean-Marie

Guest
Re...

Alors si tu dois changer les couleurs ne passe pas par les mises en forme conditionnelles, c'est la croix et la bannières pour contrôler en VBA.

Supprime toutes les mises en forme conditionnelle si, si tu as bien lu.

1) sélectionne les toutes les plages des cellules
2) clique sur le menu Format/cellules
3) dans l'onglet "nombre" de la boîte de dialogue
4) clique sur la catégorie "personnalisée"
5) dans le champ "type" tu tapes ceci [Rouge][=0]0;[Noir]standard
6) valide

Bonne soirée

@+Jean-Marie
 
F

Fred

Guest
AAAAAAAAAArrrrrrrggggggggggg, trop simple le format celulle !!!

Je me meurs, j'ai les doigts brulés par la souris et les yeux explosés par l'écran de mettre chaque celulle en mise en forme conditionnelle.

Merci pour le truc, j'ai juste inversé le noir et le rouge (question de goûts et de couleurs) et pour mettre en gras le rouge tu mets juste GRAS en plus ?
 
F

Fred

Guest
Pas grave vu que je viens de faire le reste de mon prog en deux temps trois mouvements pour mettre les cellules au format désiré, je vais pas faire la fine bouche.

Merci encore et je pense que le sujet : effacer une cellule avec VBA peut être fermé.

J'ai atteint l'objetctif que je m'étais donné. Pas mal pour un débutant en 2 jours.
Grâce à vous. Merci.
 
J

Jean-Marie

Guest
Fred,

Attend le verdict du "chef", pour dire si c'est bon

Résultat plein de référence circulaire dans ton fichier, aille ça va ce compliquer

Eh puis dans cette formule =SI(G7="X";0;SI(ESTNUM(G7);G7;SI(ET(C4="LUNDI";D4="RN32";E4="00h00 / 03h59");D11+F4;D11+0)))
remplace pour toutes les cellules du premier tableau par ceci
=SI(G7="X";0;SI(ESTNUM(G7);G7;SI(ET(C4=$c$10;D4=$c$11;E4=$d$10);D11+F4;D11+0)))

Tu as testé ton calcul ?

Bonne soirée

@+Jean-Marie
 
J

Jean-Marie

Guest
Re....

j'ai fait une petite erreur dans les absolues des cellules.
=SI($G$7="X";0;SI(ESTNUM($G$7);$G$7;SI(ET($C$4=$c$10;$D$4=$c$11;$E$4=d$10);D11+$F$4;D11+0)))
Fred je me rend compte que tu n'as pas ménagé ta peine. Avec cette formule en déclarant des références de cellules "absolues" ou "relatives", cela te permet de faire un copier coller dans les autres cellules utilisant les mêmes sources de données.

Si tu ne comprends pas tout ce que je viens de te dire, il serait utilise de t'enregistrer en tant que membre (pour l'instant c'est gratuit), pour avoir l'accés au chat.

@+Jean-Marie
 
F

Fred

Guest
Oui comme je t'ai dis je débute et j'avoue que mes formules sont quelques peu peu archaïque , mais ce qui compte c'est que cela fonctionne, quelque soit le jour, l'axe et le créneau horaire que je mettte (de tout mes tests faits) cela fonctionne, j'ai un accident qui s'ajoute ou il faut (même avec les références circulaire, c'est la seule solution que j'ai trouvé pour lui faire comprendre que la celulle devait s'ajouter au résultat à chaque click sur ajouter ou retirer un accident à chaque clik sur ôter.

Enfin de compte je vois que tu as mis à la place de mes "LUNDI", "RN32" et "00h00 / 03h59" des $c$10, $C$11 et $D$10 mais à quoi servent ces $ et est ce que ma formule est vraiment fausse sinon comme je fais, car sinon cela marche bien je trouve.

Mais bon c'est vous les spécialistes, moi qui était tout fier de mon 1er ti prog.
 
F

Fred

Guest
Ahhhhhh c'est à cela que servent les $ ainsi j'aurais pu faire des copiés collés et non tout reprendre manuellement cellule par cellule.

Merci pour le tuyau du chat, j'y vais de ce pas et après dodo.
 
@

@+Thierry

Guest
Bonjour Fred, Jean-Marie, le Forum


Et tant qu'on est dans les valeurs absolues "$"... un petit plus pour les Formulistes en herbe !!!

Une fois ta formule est saisie ou copiée collée en valeur relative tu la sélectionnes dans la barre de formule (Selection entière ou partielle) et tu fais F4... Une Pression F4 mettra toute la sélection en Absolue , une seconde ne mettra que les Lignes en Absolue, et une troisième pression ne mettra que les Colonnes en Absolue (La 4em pression remet tout en realative/etc)

Voilà de quoi bien commencer la semaine !!!

Bonne Journée
@+Thierry
 
J

Jean-Marie

Guest
Bonjour, le forum

Thierry "ton intervention n'est pas complète", comme je le signale Lien supprimé, sur PC c'est la touche F4, et sur mon ordinateur favori c'est les touches Pomme+T, qui fait la même chose.

Il est vrai que Fred travail sur PC, mais autant être le plus précis, dans les deux environnements.

Bonne journée à toi.

@+Jean-Marie
 

Discussions similaires

Réponses
4
Affichages
364
Réponses
4
Affichages
351
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…