Effacer cellules sans effacer les formules

Résolu/Fermé
simkmil Messages postés 417 Date d'inscription mardi 19 février 2008 Statut Membre Dernière intervention 3 septembre 2023 - 9 avril 2021 à 16:23
yg_be Messages postés 21789 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 septembre 2023 - 10 avril 2021 à 16:21
Bonjour, j'ai le code suivant :
Sheets("Facture").Range("E7:E9").ClearContents 'vider l'entete client-Nom

Sheets("Facture").Range("E10").ClearContents 'vider l'entete client-Prénom
Sheets("Facture").Range("G10").ClearContents 'vider l'entete client-reste de l'entete
Sheets("Facture").Range("B12").ClearContents ' vider le nr tva
Sheets("Facture").Range("A15:A34").ClearContents 'vider les quantités
Sheets("Facture").Range("F15:F34").ClearContents 'vider les prix unitaires
Sheets("Facture").Range("E15:E35").ClearContents 'vider les codes tva


Sheets("Facture").Range("B15:B34").ClearContents 'vider les prix unitaires

en utilisant ce code, mes cellules sont effectivement vidées, mais les formules qu'elle contenaient ont également disparu.
Je voudrais écrire un code en VBA qui viderait le contenu de ma cellule tout en lui laissant sa formule dans le but d'utilisation après.
Il s'agit ici d'un projet de facture pour laquelle je veux vider tous les éléments après l'avoir sauvegardée et avant de passer à la suivante.
Merci de votre aide

3 réponses

yg_be Messages postés 21789 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 septembre 2023 1 379
9 avril 2021 à 16:42
bonjour,
je ne comprends pas trop l'idée d'effacer le contenu tout en gardant la formule. cela ne me semble pas possible.
si tu expliques plus précisément la globalité, nous pourrons peut-être te proposer une solution.
en quoi est-ce un soucis de garder les formules?
0
yg_be Messages postés 21789 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 septembre 2023 1 379
9 avril 2021 à 16:43
bonjour simkmil, je n'avais pas fait attention au nom avant d'avoir répondu.
0
SimKmil > yg_be Messages postés 21789 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 septembre 2023
9 avril 2021 à 17:44
eh oui, c'est encore moi!
comme il faut passer le temps en ces temps de confinement, je me suis remis au VBA, étudié il y a assez longtemps. Et ici je tente de faire une facture.
J'ai fais une feuille avec les données de tous les clients fictifs
ensuite, j'ai créé le corps de ma facture
et enfin, une feuille récapitulative des différentes factures.
Tout cela fonctionne grâce notamment à des parties de code pour lesquels tu m'as déjà aidé.
Après avoir réalisé une facture, et l'avoir sauvegardée, j'incrémente son numéro de +1 et je passe à la facture suivante. Mais pour cela, je dois vider les différentes cellules.
Or j'avais mis les noms dans une liste déroulante (qui va les chercher sur ma feuille de données) et j'avais fait une RECHERCHEV pour aller chercher les autres instruction soit Prénom, adresse, code postal , localité, n° de TVA.
Ma rechercheV fonctionne très bien sauf que ... j'ai ensuite sélectionné les cellules à vider avec : Sheets("Facture").Range("E15:E35").ClearContents
et là, ma formule rechercheV disparait. Voilà pourquoi je posais cette question.
J'ai pensé à laisser tout effacer et par VBA aller rechercher les informations à chaque client, mais je bloque bien qu'ayant regardé quelques forums la-dessus.
Merci de ton aide.
0