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

XL 2013 Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cours"

LaREUNION

XLDnaute Nouveau
Bonsoir à tous, je suis nouveau ici et c'est la première fois que je post sur un forum, c'est dire si je ne trouve pas solution à mon problème, en général en me baladant de forum en forum j'arrive à a en venir à bout mais la le problème dépasse mes capacités.

Voici ce que je cherche à faire, je suis entrain d'améliorer mon budget mensuel, jusqu'à maintenant je le faisait sur Numbers de Mac, et j'ai décidé de venir sur Excel parce que beaucoup de personne que je veux aider à gérer leur budget sont sur PC.

Au premier jour de chaque mois je voudrais que l'ensemble du classeur ce vide (J'ai enregistré une macro de tout ce que je faisait et j'ai recopier les codes de VBA dans un bloc note pour pas le perdre.) Jusque la sa fonctionne bien, en faisant fonctionner la macro, le classeur ce vide bien comme je lui est demandé, etc.. Là où sa se complique c'est qu'il y a des partie du tableau que je veux supprimer en fonction du mois en cours.

Exemple: Il y a des dépenses programmer pour Juin 2016, Août 2016, Décembre 2016. Nous somme le 01 Juillet 2016 j'aimerais que les cellules de Juin 2016 soit SUPPRIMER, j'insiste sur supprimer car j'ai trouvé des exemples de code VBA mais cela supprime la ligne et a coté de ces lignes il y a d'autre information que je ne veux pas perdre.

Pour récapituler: j'aimerais une macro que quand je l'active,en L6 par exemple jusqu'a l'infini (Si rajout de ligne dans le tableau dans l'avenir) Une macro puisse venir scaner les dates et si une dates est dépassée, que les données des cellules en L6 M6 N6 soit effacer et ainsi de suite pour les lignes suivantes. Je précise que L6 L7 L8 etc... Seront des listes déroulantes, j'ai activer "ignorer si vide" dans la validation de donnée pour autorisé le macro de vider la cellule. J'aimerais ensuite que les cellules du dessous viennent reprendre la place des cellules vides


Ps: Ceci est un exemple, j'aimerais pouvoir réutiliser le code du macro pour l'appliquer à d'autre tableau sur d'autre cellule si vous pourriez m'aider a comprend comment le personnaliser. Sa serait super

J'ai joins une impression d'ecran pour exemple car je n'arrivais pas a chargé le fichier excel
 

Pièces jointes

  • 2016-01-18 (2).jpg
    61.8 KB · Affichages: 120

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Bonjour, LaREUNION, et bienvenue sur XLD

Peut-être, sans macro, en triant le tableau, et en effaçant les lignes correspondant aux conditions requises.
 

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Bonjour st0007, merci de m'avoir répondu, l'idée est que pendant ces 5 derniers année tout les 1er du mois je vidais les tableaux a la mains, recopiais le solde de compte au 1er du mois, etc.. Depuis que j'ai découvert la macro il y a quelque jour j'ai réussis en un bouton a tout vider et remettre a zéro recopier le solde de compte du 1er etc... Pour recommencer le mois. L'idée est que les gens qui utiliserons ce tableau n'est pas a le faire. Trié, supprimé etc... La plus part sont novice et n'arrive meme pas a bien gérer leur budget. L'automatisation peut leur faciliter la tache. Un peu comme une application, sur ce forum j'ai vue des gens écrire des lignes de code pour d'autre. Je sais que c'est possible mais sa me dépasse malheureusement.
 

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Alors, pour éviter toute polémique et discussion hasardeuse, transmet un bout de fichier .xlsm

Pour exemple avec au moins une cellule vide tout autour du tableau ou tu veux supprimer les lignes, tu te positionne dans ce tableau puis exécute :
Code:
Sub SupprimerLignesZero()
    Dim plage As Range
    Dim i As Long
    Set plage = ActiveCell.CurrentRegion
    For i = plage.Rows.Count To 1 Step -1
    Debug.Print plage(i, 1).Address
        If plage(i, 1) < Now Then plage.Rows(i).Delete xlShiftUp
    Next
End Sub
 
Dernière édition:

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Bonsoir st007, merci du temps que tu accorde à répondre à cette discussion j'apprécie réellement... Je t'es transmit le fichier, j'ai du le compresser car le navigateur ne voulais pas le chargé, depuis hier sa me faisait ça je ne sais pas pourquoi, a la base depuis le début je voulais transmettre le fichier. Merci pour tout.

Le mp: azeazeaze
 

Pièces jointes

  • Exemple laReunion pour macro supression de cellule.zip
    47.7 KB · Affichages: 93
Dernière modification par un modérateur:

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Vois donc cet exemple dans les cellules jaunes, execute la macro


ton fichier de 52 ko zippé est protégé par un mot de passe, dommage ....
 

Pièces jointes

  • Classeur2.xls
    36 KB · Affichages: 76
  • Classeur2.xls
    36 KB · Affichages: 68

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

J'ai bien reçu ton exemple, c'est presque ça . Serait il possible qu'il ne supprime pas les lignes, mais qu'il efface les cellules pour garder la structure du tableau intacte je voudrais pas qu'au bout de 4 mois qu'il faudrait recrée la structure, comme je t'es dit les gens sont plus que novice sur excel il vont rien capter. Juste effacer les cellules, et faire remonter les cellules de dessous dans les cellules vide tout en conservant la structure original du tableau. Aussi le bouton de la macro sera executer a partir d'une autre feuille du style, REMIZE A ZERO (irreversible) es ce qu'on peut demander a la macro d'aller ouvrir la feuille en question et de selectionner les cellules concerné ? Quand je vous vois faire vos lignes de code je peut pas m'empecher de dire qu'il existe un autre monde, vous êtes des magiciens, je capte rien mais alors rien du tout. MERCI POUR TOUT!!!!!!!
 

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

re, genre comme ceci

au passage, comment veux tu qu'excel comprenne du texte et le compare à une date...

J'ai un peu modifié ce point ....
 

Pièces jointes

  • Exemple laReunion pour macro supression de cellule.xlsm
    53.2 KB · Affichages: 54
  • Exemple laReunion pour macro supression de cellule.xlsm
    53.2 KB · Affichages: 58

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Coucou st007 on s'y approche !!!!! Juste un détail, peu on l'empecher de "supprimer" les lignes pour garder la structure du tableau en place? Juste "effacer" les cellules et faire remonter en haut ceux d'en bas qui n'ont pas étaient effacer.

Doit on obligatoirement etre possitionner sur l4 ? j'aimerais que la macro se lance a partir d'une feuille a part avec un bouton. T un champion
 

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Pour prévu et revenu, je te laisse faire le troisième. (To 5 sans doutes)

A savoir que si ta liste après nettoyage est plus longue, çà va coincer !!! ou tu modifie

j'ai au passage renommer les onglets, les caractères spéciaux n'apportent rien
revu la liste des dates si tu veux garder le mois en cours
ajouté le total en bas de revenu, puisqu'excel le fait tout seul

bref, en espérant que tu comprenne chacune des modifications effectuées
 

Pièces jointes

  • Exemple laReunion pour macro supression de cellule.xlsm
    60.5 KB · Affichages: 60
  • Exemple laReunion pour macro supression de cellule.xlsm
    60.5 KB · Affichages: 61

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour


Coucou J'ai bien reçu, c'est EXACTEMENT CE QUE JE VOULAIS. Sauf que quand je recopie la ligne de code dans le fichier original, cela ne fonctionne pas... Alors je me suis dit que tu m'avais donné une piste au niveau des dates a faire attention différence entre date et texte... j'ai modifier le tout pour mettre les valeurs en date pour qu'il puisse reconnaître, cette fois ci sa fonctionne sauf que sa me bouffe les cellules, sa ne les effaces pas, sa les supprimes. Je te transmet le fichier original sur lequel je travail, je pense qu'il y aura a ce moment la plus d'incohérence, car il me dit aussi Erreur d'execution '9' l'indice n'appartient pas a la selection
 

Pièces jointes

  • La reunion fichier original.zip
    73.3 KB · Affichages: 46

st007

XLDnaute Barbatruc
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

T'avais rien fait en fait ....

tu as oublier "avec une cellule vide tout autour, la cellule fusionnée au dessus comptait.. (ici centré sur plusieurs colonne)
les menus déroulant de dates t'ont aussi échappé, la plage nommée dynamiquement...
l'insertion de tableau ....
y avait pas l'ombre d'une macro dans ton fichier, "alt" "F11", çà te parles ...
 

Pièces jointes

  • La reunion fichier original.xlsm
    80.5 KB · Affichages: 70
  • La reunion fichier original.xlsm
    80.5 KB · Affichages: 64

LaREUNION

XLDnaute Nouveau
Re : Code Macro "effacer des cellules (garder les lignes) en fonction du mois en cour

Bonsoir st007, tu l'aura compris, j'ai débute sur Excel, auparavant j'etait sur NUMBERS sur mac, et j'ai décidé de venir sur excel, j'ai decouvert il y a quelque jours sur internet qu'on pouvais automatisé certaine action ''LE MIRACLE" alors j'ai commencé a me renseigner pour me rendre compte que cela dépassé mes capacités intellectuel. Vos codes c'est carrément un autre language... J'arrete pas de me demander ou vous avez appris a faire ça... J'avais suivie un tuto qui m'apprennais comment appuyer sur enregistré: de faire mes manipulations et que ensuite cela s'enregistrerais sous forme de macro... ELEMENTAIRE, au vue de ce que tu m'a pondu...... J'en arrive meme a me demander pourquoi tu m'a pas envoyer boulet en voyant mon niveau... Ta quand même donné de ton temps, de ton energie, de tes connaissances... et ta literallement travaillé sur mon fichier, t'etait pas obligé et tu l'a fait.. Si c'etait payant jt'aurais payé pour ça!!! Je voudrais reelement te dire merci !!!! C'EST EXACTEMENT CE QUE JE VOULAIS!!!!! 20/20.


Ps: Je voudrais apprendre à faire cela, aurais tu des sites, genre tuto.com, sur lequel je peut apprendre les bases, ou du style VBA pour les nul. MERCI POUR TOUT
 

Discussions similaires

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