Je suis coince au boulot. Je suis entrain de creer un tableau pour aider un collegue a s'organiser.
Pour cela, j'enregistre la date du jour quand il double-click sur une cellule (ex: "envoyer demande"). Si il n'a pas cliquer sur la cellule suivante (ex: "recu reponse demande") au bout de quelques jours, DING la case devient rouge.
Pour cela, j'utilise differentes boucle for et deux tableaux de variables, position et dates.
Super, tout marche (alors que j'avais jamais programmer en VBA de ma vie) tant que je ne ferme pas le classeur. Si je ferme le classeur, mes variables se reinitialise.
J'ai cherche et apparement il faudrait que j'enregistre les variables dans une base de donnees externes ou un fichier txt.
En fouinant dans le forum, j'ai trouve quelques exemples et j'ai essaye ca, sans reussite:
Code:
For counter4 = 1 To 1000
Open "C:\Documents and Settings\StockManagement\My Documents\Kingkeo follow up\init.txt" For Output As 1
Print #(counter4), Tableaupos(counter4) & Tableaudate(counter4)
Close
Next counter4
Note: J'ai une erreur 52 a la ligne 5 (Print ...) Bad File name or number.
Ma question est alors simple:
Comment conserver une variable tableau de type date pour la reutiliser "telle quelle"?
Merci pour votre aide et pour votre temps. C'est dur pour moi. "Bobo a la tete"
Re : - [VBA] - Variable Tableau de dates a enregistrer dans un .txt = grosse galere
Bonjour hOAxB et bienvenu sur le forum,
Juste une idée pour aller au plus simple:
Pourquoi ne pas coller ton tableau sur une feuille cachée. A l'ouverture tu va chercher les données sur la feuille.
Si tu as peur des manipulations de cette feuille par les utilisateurs tu peux la masquer totalement par macro: Sheets("Cache").Visible = xlVeryHidden. On ne pourra plus l'afficher que par macro.
Cordialement
Re : - [VBA] - Variable Tableau de dates a enregistrer dans un .txt = grosse galere
Vous etes geniaux! Hasco, merci pour les lignes de code adaptees a mon projet et magistralement completees par la manip' de Elge pour cacher une feuille.
J'essaye ca des que je peux!
Merci les amis, j'ai rarement ete aussi bien aiguille sur un forum informatique.
Reverra un tableau à deux dimensions
La première avec l'index de ligne du tableau et l'autre l'index de colonne
La première date sera dans TableauDates(1,1)
La deuxième date: TableauDates(2,1)
D'ailleurs pour l'écriture du n'as pas forcément besoin de deux tableaux.
Faut voir....
Re : - [VBA] - Variable Tableau de dates a enregistrer dans un .txt = grosse galere
Hasco, ta ligne de lecture renvoie une erreur de compilation. Impossible d'assigner la lecture d'une range a un tableau.
Comment faire alors? Faire une boucle de lecture peut-etre? Je vais essayer des que j'ai un peu de temps libre.
Re : - [VBA] - Variable Tableau de dates a enregistrer dans un .txt = grosse galere
Bonjour,
Merci Hasco mais en "detypant" ma variable Tableaudate, je ne peux plus l'utiliser avec ma fonction DateDiff plus tard dans le script.
Je suis entrain d'essayer de transvaser les variables contenues dans mon Tableaudate "variant" vers un autre tableau type Date pour l'utiliser avec ma fonction Datediff mais rien y fait. J'ai une erreur lorsque j'ecris:
Dim Tableaudate As Variant
Dim Tableaudatetype() As Date
En fin de compte, c'est pas si facile de programmer en VBA.. J'ai eu de la chance que tout se passe bien jusqu'a present.
EDIT:
Je m'en suis sorti comme ca:
Code:
Sub Loaddate()
For counter5 = 1 To 1000
Tableaupos(counter5) = Sheets("Variables").Range("A" & counter5 - 1).Value
Tableaudate(counter5) = Sheets("Variables").Range("B" & counter5).Value
Next counter5
End Sub
J'ai encore une erreur de decalage de ligne donc je fais - 1 a la lecture pour la position (je ne serai pas l'expliquer).
Re : - [VBA] - Variable Tableau de dates a enregistrer dans un .txt = grosse galere
Bonjour hOAxB, Bonjour Hasco, le fil, le forum
Je pense que le quiproquos des tableaux viens d'une faute de frappe.
Pour avoir toutes tes données dans un seul tableau à deux dimentions tu peux utiliser ceci:
VB:
Dim TableauDates()
TableauDates = Sheets("Variables").Range("A1:B1000").Value
et là tu auras ton tableau Tableaupos en TableauDates(1, 1) et ton Tableaudate en TableauDates(1, 2) sans aucun décalage.
Cordialement
EDIT: Après tests (sous 2003), il s'avère que la date renvoyée en TableauDates(1, 2) est bien égale à la veille de la date attendue.... .
Si quelqu'un a une idée sur cet état de fait...