VBA et TCD

  • Initiateur de la discussion thib
  • Date de début
T

thib

Guest
bonjour

J'ai un tableau de base que me fournit un collegue à partir duquel je vais repartir en fonction des jours de la semaine la quantité de travail à effectuer. après avoir rempli, j'ai une macro qui actualise l'ensemble des TCD. La ca marche
Or sur ce tableau je rajoute des lignes grace à uen macro qui va chercher dans une base de données, je place alors le travail correspondant un jour de la semaine je réactualise et la bug!!!
J'ai donc conclu que c'est ce rajout qui provoque le bug je joint mes macros

Pouvez vous m'aider!!
 

Dan

XLDnaute Barbatruc
re,

Bon sur base de tes derniers renseignements voici une proposition.

Suis mes indications ci-après :
1. Les TCD
- dans la feuille LUNDI, clique droite dans le TCD, puis choisis Assistant et retourne à l'étape 1
- Enlève --> [Yves8.xls] pour n'avoir que --> Yves!$A$1:$AA$84
- Clique sur FIN
- Refais cela pour les autres feuilles Mardi, etc...
Attention veille à ce que la plage soit la même car je vois dans ton fichier des plages différentes pour chaque TCD ...

2. L'actualisation des TCD
- Vas dans VBA par ALT + F11
- CTRL +R pour accéder à VBA project (fenetre à gauche)
- Double clique sur feuille (Lundi)
- dans la fenetre de droite place cette macro :
Code:
option explicit
Private Sub Worksheet_Activate()
' Macro par Dan pour Thib sur XL downlaod
' Macro pour fil :[B]Lien supprimé[/B]
Call ActualiseTCD
End Sub
- Place ce code dans chaque autre feuille de la semaine contenant un TCD
- Toujours dans VBA project, double clique sur Module. Si tu n'en vois pas un, crèe le par menu / insertion / module
- Dans la fenetre de droite, place ce code
Code:
Option Explicit
Sub ActualiseTCD()
' Macro par Dan pour Thib sur XL downlaod
' Macro pour fil :[B]Lien supprimé[/B]
Dim ws As String
Dim pvttable As PivotTable
With Application
    .ScreenUpdating = False
    .CommandBars('PivotTable').Visible = False
End With
ws = ActiveSheet.Name
Set pvttable = Worksheets(ws).Range('A7').PivotTable
pvttable.RefreshTable
Application.ScreenUpdating = True
End Sub

-Ensuite enregistre ton fichier.

Ces deux macros te permettront de mettre tes TCD à jour automatiquement.
Pour le voir, dans le feuille Yves encode une valeur pour Lundi. Ensuite clique sur la feuille Lundi et ton TCD sera actualisé.

Si pb n'hésite pas

;)
 

thib

XLDnaute Junior
salut dan,

j'essaie cet aprem et je te tiens au courant

Autre info

j'ai essayé mon fichier sur mon ordi perso pas sur celui de mon lieu de travail et il marche
ce n'est pas la meme version d'excel (plus vieille sur monlieu de travail) donc je me demande si c'ets ca qui pourrait provoqué les problemes???
 
T

thib

Guest
re

je te confirme ce soir pour les versions d'excel

Sinon tes macros marchent l'actualisation s e passe correctement mais le probleme est tjs la, j'ai grillé un truc

Si par exemple dans la colonne lundi de la feuille Yves je remplis 2 valeurs ca marche

par contre si j'en remplit 3 et plus la ca bug

de plus , il est arrivé que excel me demande de remplacer le contenu des cellules de destination
je pense que cela est lié avec le pb decrit au dessus ( 2 ou 3 valeurs)

j'ai modifié le nom de mes TCD et mis la même plage de données

merci
 

Dan

XLDnaute Barbatruc
Re,

Je n'ai aucun pb sur la feuille Lundi. Je peux mettre autant de valeur que je souhaite. Mais je n'ai pas tout ton fichier. Donc dans la feuille Yves je complète de R2 à R6.

Pour ce qui est de modifier le nom des TCD, ce n'est pas nécessaire avec la macro que je t'ai faite.

A te lire

;)
 
T

thib

Guest
re dan c'est cool de m'aider

En effet tu as raison avec le fichier que je t'ai envoyé on peut mettre autant de valeur et actualiser et ca marche

en fait ca deconne des que j'ajoute un eleveur.
Des que je l'ajoute (une ligne se crée avec les coordonnées....)la je peut plus mettre autant de valeurs que je veut (3 seulement et ca bug)

de plus quandj'ajoute un eleveur certaines coordonnées ne sont pas remplies, je l'ai ai donc complete au cas ou ce serait ca mais non!

je voudrais bien t'envoyer mon fichiere entier mais compressé au maxi il fait 100ko
Y a t il un autre moyen de te l'envoyer?

merci

Commence à me les briser ce fichier
 

Dan

XLDnaute Barbatruc
Re,

Deux solutions pour le fichier :


- tu t'inscris comme membre de ce forum. Cela te permettra d'avoir une messagerie privé dans laquelle je peux te communiquer mon adresse.
- Autre solution (j'aime pas trop) mais qui n'est pas intéressante pour le forum (car le fichier sera éliminé après quelques temps) c'est de placer ton fichier à cette adresse --> http://cjoint.com/.

A te lire

;)
 

Dan

XLDnaute Barbatruc
Bonjour Thib,

Bon j'ai récupéré ton fichier.

Commentaires sur tes posts :

1.
par exemple dans la colonne lundi de la feuille Yves je remplis 2 valeurs ca marche

Que veux tu dire ? Ce qui est sûr c'est que tu ne peux pas aller remplir des données dans le TCD !

2.
en fait ca deconne des que j'ajoute un eleveur.
Des que je l'ajoute (une ligne se crée avec les coordonnées....)la je peut plus mettre autant de valeurs que je veut (3 seulement et ca bug)

Donne moi un exemple de ce que tu fais. Je suppose que tu remplis dans la feuille Yves ?

D'autre part je vois une macro AJOUT, à quoi sert – elle ?

La macro 'majeleveur' plante complètement sans raison sur une instruction élémentaire Activesheet.name. Là j'ai l'impression qu'il y a des 'crasses' cachés dans ton code. Peut être que tu as fait des copier coller. Mais en recopiant ta macro sur un fichier vierge, iln'y a pas de pb.


Bon il y a du travail là. Donc essaie d'être précis dans tes réponses et sur les infos que tu me donnes. Je dois comprendre comment tu travailles avec ce fichier.

;)
 
T

thib

Guest
bonjour
je vais essayer d'etre le plus clair possible

. La macro 'ajout' sert à ajouter un eleveur dans la feuille Yves. Si tu cliques dessus, normalement, une feuille nommée 'eleveurs' s'ouvre avec toute une liste d'eleveurs. Dans cette feuille tu tapes en C1 le numero de l'eleveur que tu recherches et tu cliques sur le bouton 'ajouter'.
Une nouvelle ligne s'est alors crée dans la feuille Yves où il ne rest eplus qu'à rentrer la quantité (N11) et le nom aliment (O11).

.Le bouton MAJ eleveurs sert à mettre à jour la liste des éleveurs que j'ai evoqué ci dessus (quand tu cliques sur le bouton 'ajouter un eleveur' tu as une feuille qui s'ouvre nommée 'eleveurs', c'est cette liste qui ets mise à jour). cette mise à jour se fait par l'intermediaire d'une base de données access presente sur mon lieu de travail donc c'est normal si ca ne marche pas à l'extérieur

Donc ca c'ets les macros

Pour le fonctionnement:

. Dans le fichier que je t'ai donné, je remplis par exemple les cellules R2, R3, R4, R5
Je cliques sur la feuille 'lundi' ( pour actualiser gracxe à ta macro) ca marche, les données ont été transférer de la feuille Yves vers la feuille lundi


Maintenant j'ajoute un eleveur : dans la feuille Yves je cliques sur le bouton 'ajouter un eleveur', une feuille nommée 'eleveurs' s'ouvre, en C1 je tape 6119 puis je clique sur le bouton 'ajouter'. Cet eleveur (n°6119) adonc été ajouter dans la feuille Yves.
Dans la feuille Yves, je remplis la cellule N11 (10000) et la cellule O11 (poules). ensuite en R11 je mets 10000, je cliques sur la feuille 'lundi pour actualiser grace à ta macro et la j'ai un bug (erreur 1004:colonnes ou lignes trop nombreuses...)

c'ets pour ca que je pense que c'est l'ajout d'un eleveur qui fait bugger les TCDs

Essaye en suivant ce que j'ai ecrit pour me dire si ca bug aussi chez toi ?

Merci
en esperant que tu comprennes mieux avec ces explications
 

Dan

XLDnaute Barbatruc
Bonsoir,

D'abord je commence par te dire une chose au sujet de ton fichier. Ce n'est pas prudent de mettre des données avec des noms, téléphone et autres renseignements. Bon là le fichier m'est envoyé dans ma BAL mais à éviter de mettre cela sur le web. Tu imagines un peu si quelqu'un de ton fichier voit cela. Moi je ne serais pas content du tout. Donc évite de placer ces données confidentielles ici.

Ton fichier bug chez moi aussi. Assez curieursement j'ai déplacé les feuilles Eleveur et Yves dans un autre fichier puis remise dans le tien et là cela fonctionne.
J'ai amendé légèrement ta macro Ajout pour la rendre plus rapide.

Juste une chose, je pense que tu aurais peut être dû faire plus facile. Imagine afficher la feuille Eleveur puis de double cliquer dans une cellule de la colonne A, pour mettre les données dans la feuille Yves.

Autre chose, il n'est pas nécessaire d'actualiser le TCD à l'ouverture du fichier puisque tu l'actualise sur sélection de la feuille Lundi, ...
J'ai laissé l'option mais tu peux l'enlever.

Comme le fichier est trop lourd je te le renvoie dans ta BAL.


;)

Message édité par: Dan, à: 24/03/2006 23:38
 

thib

XLDnaute Junior
merci dan

j'arrive pas à ouvrir le fichier , quand je l'ouvre il me dit 'l'instruction à 0*301761ad emploie l'adresse mémoiree 0*0000000000, la mémoire ne peut être read'

donc je sais pas
et avec la modif que t'as fait sur la macro ajout, ca bug encore ou pas?


Merci de passer du temps sur ce fichier
 

Dan

XLDnaute Barbatruc
Bonjour Thib,

J'ai aucun pb avec ce fichier et la modification sur la macro ajout ne comporte pas de bug dans ton fichier. J'ai fais quelques tests qui me parraissaient concluant. Chaque donnée 'éleveur' étant bien placée dans la feuille Yves.

Mais là visiblement tu as un pb de mémoire. Je te conseilles de fermer excel complétement voire même ton pc et de redémarrer. Ensuite essaie d'ouvrir ton fichier.

;)
 

Statistiques des forums

Discussions
312 392
Messages
2 087 999
Membres
103 691
dernier inscrit
christophe89