Remplir un tableau à partir d'un autre avec Macro
Résolu
Sophie
-
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
ccm81 Messages postés 10909 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je possède une base de données avec différents sites (avec N° propre à chacun).
J'ai un onglet avec un premier tableau dans lequel sont répertoriées des consommations mensuelles par site, et donc ce tableau évolue au moins tous les mois.
A droite de ce tableau, j'ai établie une moyenne pour chaque mois (qui, comme vous l'aurez compris, évolue à chaque nouvelle entrée de données).
Dans un autre onglet se trouve un second tableau avec l'ensemble des sites. Ce tableau doit me servir à cataloguer les moyennes suscitées (et pouvoir le faire régulièrement, et d'écraser les anciennes données).
Mon but, serait d'avoir un bouton macro, qui me permettrait de copier les différentes moyennes dans le second tableau, à la bonne ligne,c'est-à-dire en utilisant comme référence le N° des différents sites.
Je me triture le cerveau mais les macros et moi on a jamais été très copains. Pensez-vous que c'est possible, et si oui, avez-vous une solution ?
Merci par avance
Mon fichier Excel :
www.transfernow.net/81h18214t25y
Je possède une base de données avec différents sites (avec N° propre à chacun).
J'ai un onglet avec un premier tableau dans lequel sont répertoriées des consommations mensuelles par site, et donc ce tableau évolue au moins tous les mois.
A droite de ce tableau, j'ai établie une moyenne pour chaque mois (qui, comme vous l'aurez compris, évolue à chaque nouvelle entrée de données).
Dans un autre onglet se trouve un second tableau avec l'ensemble des sites. Ce tableau doit me servir à cataloguer les moyennes suscitées (et pouvoir le faire régulièrement, et d'écraser les anciennes données).
Mon but, serait d'avoir un bouton macro, qui me permettrait de copier les différentes moyennes dans le second tableau, à la bonne ligne,c'est-à-dire en utilisant comme référence le N° des différents sites.
Je me triture le cerveau mais les macros et moi on a jamais été très copains. Pensez-vous que c'est possible, et si oui, avez-vous une solution ?
Merci par avance
Mon fichier Excel :
www.transfernow.net/81h18214t25y
A voir également:
- Remplir un tableau excel avec un autre tableau
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Imprimer un tableau excel - Guide
- Tableau croisé dynamique - Guide
16 réponses
Tu devrait pouvoir te passer de macro
En D5 (ligne Bibliothèque)
=INDEX('Outil seuils'!$G$7:$G$18;EQUIV(Seuil!D$1;'Outil seuils'!$B$7:$B$18;0))
à tirer vers la droite
Dans la feuille Outil seuils, il devrait y avoir un tableau pour chaque site, à moins que tu aies une feuille par site... La formule ci-dessus restera alors à adapter pour les autres sites
Si tu veux une macro, il faut envoyer un fichier avec la vraie structure complète
Cdlmnt
En D5 (ligne Bibliothèque)
=INDEX('Outil seuils'!$G$7:$G$18;EQUIV(Seuil!D$1;'Outil seuils'!$B$7:$B$18;0))
à tirer vers la droite
Dans la feuille Outil seuils, il devrait y avoir un tableau pour chaque site, à moins que tu aies une feuille par site... La formule ci-dessus restera alors à adapter pour les autres sites
Si tu veux une macro, il faut envoyer un fichier avec la vraie structure complète
Cdlmnt
J'ai omis un détail important : le tableau de 2 lignes et 3 colonnes en haut de mon premier onglet est en réalité constitué de listes déroulantes me permettant de choisir un site et une énergie, ce qui remplit ensuite le tableau en-dessous (je ne peux vous transmettre mon "vrai" fichier pour des raisons de confidentialité).
Ainsi, mon but est, pour chaque site et énergie, de pouvoir coller la colonne des moyennes dans le second tableau, afin de pouvoir répéter l'opération pour chacun des autres sites.
Ainsi, mon but est, pour chaque site et énergie, de pouvoir coller la colonne des moyennes dans le second tableau, afin de pouvoir répéter l'opération pour chacun des autres sites.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
OK, on va faire avec, mais il te faudra certainement mettre la main dans le cambouis pour la macro
Cdlmnt
Cdlmnt
Une question ... pour le moment
Le numero en colonne A (feuille seuil) est il unique (1 site+1energie = 1 numero) ? Si oui, ça simplifie la recherche de la ligne qui se ferait selon ce (seul) numéro
Le numero en colonne A (feuille seuil) est il unique (1 site+1energie = 1 numero) ? Si oui, ça simplifie la recherche de la ligne qui se ferait selon ce (seul) numéro
Oui tout à fait, il est unique (en fonction du site et de l'énergie choisie). C'est d'ailleurs ce numéro qui me permet de faire appel à mes consommations.
Merci !!
Par contre, je pense que c'est à cause de ma version de Office (Office 365) mais aucune macro ne s'affiche dans le menu (alors qu'elle fonctionne parfaitement...)
Par contre, je pense que c'est à cause de ma version de Office (Office 365) mais aucune macro ne s'affiche dans le menu (alors qu'elle fonctionne parfaitement...)
1. mais aucune macro ne s'affiche
dans ton fichier ?
et que veux tu dire par "ne s'affiche dans le menu"
2. alors qu'elle fonctionne parfaitement...
même question
Avec mon vieil excel 2003, je n'ai pas tous ces problèmes
N'oublies d'enregistrer ton fichier (avec la macro) avec le type .xlsm (et non .xlsx)
Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Bonne fin de journée
dans ton fichier ?
et que veux tu dire par "ne s'affiche dans le menu"
2. alors qu'elle fonctionne parfaitement...
même question
Avec mon vieil excel 2003, je n'ai pas tous ces problèmes
N'oublies d'enregistrer ton fichier (avec la macro) avec le type .xlsm (et non .xlsx)
Si c'est fini, peux tu mettre le sujet à résolu (en dessous du titre de ton premier message)
Bonne fin de journée
Merci pour tes précisions.
J'avais bien déjà fait toutes tes suggestions, et quand je vais dans "Affichage" puis "Macros"/"Afficher les macros" je n'ai rien du tout, zéro.
Et pourtant quand je clique sur le bouton que tu as créé, la macro fonctionne parfaitement.
Je penche pour une incompatibilité de version Office.
Te serait-il possible de coller les lignes de la Macro sur ce forum ?
Merci par avance !
J'avais bien déjà fait toutes tes suggestions, et quand je vais dans "Affichage" puis "Macros"/"Afficher les macros" je n'ai rien du tout, zéro.
Et pourtant quand je clique sur le bouton que tu as créé, la macro fonctionne parfaitement.
Je penche pour une incompatibilité de version Office.
Te serait-il possible de coller les lignes de la Macro sur ce forum ?
Merci par avance !
1. La macro attachée au bouton que j'ai nommé btMAJ (dans le module de la feuille Outil seuils)
2. La macro transfert (dans le module général Module 1)
Cdlmnt
Private Sub btMAJ_Click() Dim numero As Long With ActiveSheet numero = .Range(ceNuFO).Value Call Transfert(numero) End With End Sub
2. La macro transfert (dans le module général Module 1)
' constantes décrivant la configuration des données ' Feuille Outil seuils Public Const FO As String = "Outil seuils" Public Const ceNuFO As String = "D3" Public Const liDeFO As Byte = 7 Public Const coSeFO As String = "G" ' Feuille seuil Public Const FS As String = "Seuil" Public Const coNuFS As String = "A" Public Const codeFS As Byte = 4 Public Sub Transfert(numero As Long) Dim mois As Byte, li As Long Dim obj As Object With Sheets(FS) Set obj = .Columns(coNuFS).Find(numero, , , xlWhole) If obj Is Nothing Then MsgBox "Numero " & numero & " non trouvé ": Exit Sub li = obj.Row For mois = 1 To 12 .Cells(li, codeFS + mois - 1).Value = Sheets(FO).Range(coSeFO & liDeFO + mois - 1).Value Next mois End With End Sub
Cdlmnt