XL 2016 Création d'un code VBA pour insérer un des dates

c_brt

XLDnaute Nouveau
Bonjour a tous,

J'ai un tableau de données avec une date de début et une date de fin. Le but est de crée un code VBA qui va permettre d'insérer une colonne pour chaque jours entre ces deux dates.
C'est tout a fait faisable a la main mais quand il y a plus de 70 000 lignes c'est un peu compliqué...
J'espère que c'est un petit peu claire.

Je vous remercie pour l'aide apporté.

Bonne journée a tous!
 
Solution
Bonjour
Classeur joint "paramétrable"
Cerise sur le gâteau: les colonnes s'étendent ou se réduisent automatiquement .

Indiquez le nom de votre tableau en début de code .
Option Explicit
Const Tableau As String = "Tableau1" ' <-- là

Les modifs se font au fur et à mesure des saisies ou de changement de valeurs dans les colonnes que vous avez citées : Date_Deb_Cp et Date_Fin_Cp

Pour provoquer les changements immédiatement dans votre existant sans avoir à faire entrée sur chaque cellule, exécutez manuellement la procédure MajJours

patricktoulon

XLDnaute Barbatruc
re
et bien c'est normal ,on t'a donner le code dans l'event change il s'execute donc quand tu change une cellule et la macro n'est donc pas dispo dans la liste des macro
tu veux quoi exactement decider quand tu veux executer le code ou que cela soit automatique ou les deux
 

c_brt

XLDnaute Nouveau
Ma colonne avec les dates de fin est déjà créé,
Je voudrais que se soit automatique, puis que après les personnes qui vont l'utiliser n'y connaisse rien et et on juste a actualiser les données qui sont relier a une base sql ^^
 

patricktoulon

XLDnaute Barbatruc
hoh!! il faudrait donner tout les aspects du contexte des le depart sinon on s'en sort pas là
je ne t'ai pas dit de créer une colonne date de fin elle y est deja dans mon exemple mais elle est vide c'est tout
alors tape une date sur la ligne que tu veux et regarder
si toute les dates de fin y sont dans ton fichier ben lance la sub LetsGo c'est tout

avant de faire des demandes essayer de déterminer la marche a suivre dans sa globalité sinon c'est une perte de temps pour ceux qui prennent le temps de vous filer un coup de main
;)
 

patricktoulon

XLDnaute Barbatruc
re
Bonjour @fanch55 je lui ai mis le code dans une sub et appelée dans le change
il a donc les deux options
mais je crois que notre amis n'a pas la notion de module feuille et standard
je parierais a 100/1 que le code avait été mal placé
j'ai donc rectifié le tir en proposant les deux
 

fanch55

XLDnaute Barbatruc
Salut @patricktoulon ,

Intéressant l'ajout automatique d'une colonne (tableau structuré) .

Cependant, le hic avec ta proposition, c'est que :
  • une date est créée même si deb et fin sont vides.
  • avec le test de .Cells(i, 4)<>vide, aucune modification n'est prise en compte par la suite .
  • le changement des dates n'est pas prise en compte
  • notre demandeur a annoncé près de 70k lignes,
    les parcourir toutes à chaque fois n'est peut-être pas très indiqué.
 

c_brt

XLDnaute Nouveau
hoh!! il faudrait donner tout les aspects du contexte des le depart sinon on s'en sort pas là
je ne t'ai pas dit de créer une colonne date de fin elle y est deja dans mon exemple mais elle est vide c'est tout
alors tape une date sur la ligne que tu veux et regarder
si toute les dates de fin y sont dans ton fichier ben lance la sub LetsGo c'est tout

avant de faire des demandes essayer de déterminer la marche a suivre dans sa globalité sinon c'est une perte de temps pour ceux qui prennent le temps de vous filer un coup de main
;)
Je suis désoler, mais c'est la première fois que j'utilise se genre de forum, mais au début il y avait la capture d'écran concernant la colonne Y et Z de mon tableau avec la date de début et la date de fin...
 

c_brt

XLDnaute Nouveau
Le langage VBA je l'utilise très peu c'est pour cela que c'est un peu compliquer. Ou quand je l'utilise c'est pour des choses très simple mais pour effectuer cette demande je n'avais pas trop le choix. Et je vous remercie d'avoir pris le temps de répondre à ma problématique, même si je n'ai pas été très claire… Je ferais attention de bien formuler mes prochaines demandes.
J'ai actuellement un petit problème, une fois ma macro lancé il m'annonce un erreur, "la méthode 'range' de l'objet '_global' a échoué", je pense que sa vient peut être du nom du tableau, je ne sais pas trop..
 

fanch55

XLDnaute Barbatruc
Bonjour
Classeur joint "paramétrable"
Cerise sur le gâteau: les colonnes s'étendent ou se réduisent automatiquement .

Indiquez le nom de votre tableau en début de code .
Option Explicit
Const Tableau As String = "Tableau1" ' <-- là

Les modifs se font au fur et à mesure des saisies ou de changement de valeurs dans les colonnes que vous avez citées : Date_Deb_Cp et Date_Fin_Cp

Pour provoquer les changements immédiatement dans votre existant sans avoir à faire entrée sur chaque cellule, exécutez manuellement la procédure MajJours
 

Pièces jointes

  • Cbrt.xlsm
    23.7 KB · Affichages: 6
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
ben si l'object global range a échoué c'est que ton tableau s'appelle pas "Tableau1" c'est tout
tu veux pas nous donner de fichier on peut pas deviner le nom nous
envoie nous un fichier et on n'en parle plus @fanch55 et moi t'avons donner des fichier exemples
sans ton fichier on peut rien faire de plus
c'est a toi d'adapter ce que l'on te donne a ton fichier
 

Discussions similaires

Réponses
15
Affichages
555
Réponses
4
Affichages
530

Statistiques des forums

Discussions
315 098
Messages
2 116 203
Membres
112 687
dernier inscrit
snexedwards