VBA: Copier valeur en fonction de la date du jour
Résolu/Fermé
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
-
21 sept. 2014 à 19:04
alexysr Messages postés 24 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 5 avril 2016 - 25 sept. 2014 à 15:33
alexysr Messages postés 24 Date d'inscription dimanche 21 septembre 2014 Statut Membre Dernière intervention 5 avril 2016 - 25 sept. 2014 à 15:33
A voir également:
- VBA: Copier valeur en fonction de la date du jour
- Mkdir vba ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba range avec variable ✓ - Forum VB / VBA
- Autofill vba ✓ - Forum Excel
- L'indice n'appartient pas à la sélection vba ✓ - Forum Programmation
9 réponses
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
21 sept. 2014 à 22:50
21 sept. 2014 à 22:50
Bonjour,
Il est possible que le VBA ne soit pas nécessaire !
A quoi correspond le fichier A et B. 2 classeurs ou 1 classeur avec les fichiers A et B sur feuilles séparées... ?
Il est possible que le VBA ne soit pas nécessaire !
A quoi correspond le fichier A et B. 2 classeurs ou 1 classeur avec les fichiers A et B sur feuilles séparées... ?
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
22 sept. 2014 à 13:12
22 sept. 2014 à 13:12
Bonjour,
Si car ce sera une partie d'un code dans lequel il y aura un grand nombre d'opérations.
Deux classeurs différents.
Merci
Si car ce sera une partie d'un code dans lequel il y aura un grand nombre d'opérations.
Deux classeurs différents.
Merci
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
22 sept. 2014 à 14:06
22 sept. 2014 à 14:06
Bonjour,
Eh bien dans ce cas c'est vous qui savez. Je ne peux rien faire de plus sans explication plus cohérente.
Désolé.
Eh bien dans ce cas c'est vous qui savez. Je ne peux rien faire de plus sans explication plus cohérente.
Désolé.
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
Modifié par WeaponEDGE le 22/09/2014 à 15:10
Modifié par WeaponEDGE le 22/09/2014 à 15:10
Bonjour,
Essayes cette boucle :
N'oublies pas de copléter le nom des fichiers
Essayes cette boucle :
Sub transfert()
Nom_FichierA = "" 'Indiquer le Nom dans les guillemets
Nom_FichierB = "" 'Indiquer le Nom dans les guillemets
Nb_LigA = Workbook(Nom_FichierA).Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row 'il est nécessaire que l'onglet soit en première position du fichier A
Nb_LigB = Workbook(Nom_FichierB).Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row 'il est nécessaire que l'onglet soit en première position du fichier B
DepartA = 2 'en supposant que les date débutent en ligne 2 du fichier A
DepartB = 2 'en supposant que les date débutent en ligne 2 du fichier B
For i = DepartA To Nb_LigA
Ref_DateA = Workbook(Nom_FichierA).Sheets(1).Cells(i, 1).Text
For u = DepartB To Nb_LigB
Ref_DateB = Workbook(Nom_FichierB).Sheets(1).Cells(u, 1).Text
If Ref_DateA = Ref_DateB Then
Workbook(Nom_FichierB).Sheets(1).Cells(u, 2) = Workbook(Nom_FichierA).Sheets(1).Cells(i, 2)
Exit For
End If
Next u
Next i
End Sub
N'oublies pas de copléter le nom des fichiers
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
22 sept. 2014 à 19:57
22 sept. 2014 à 19:57
Bonjour,
Tous d'abord merci pour cette réponse WeaponEDGE!
Ensuite je tiens à m'excuser pour le manque de clarté de ma question et information.
Je récapitule:
J'ai un fichier Alpha dans lequel plusieurs filtres sont appliqués à un tableau croisé dynamique se trouant dans l'onglet "Feuil4". Ce résultat qui est une valeur numérique (se trouve on va dire dans la colonne A ligne 10) doit être copié dans le Fichier Beta dans l'onglet "Manquant".
Le fichier Beta, onglet "Manquant" est composé d'une colonne A dans laquelle sont tirés toutes les dates de l'année au jour le jour. Dans la colonne B doit rentrer la valeur copié; cependant cette valeur doit se coller dans la ligne correspondante à date du jour de la colonne A.
J'espère que cela est un peu plus claire :s
Merci encore!
Tous d'abord merci pour cette réponse WeaponEDGE!
Ensuite je tiens à m'excuser pour le manque de clarté de ma question et information.
Je récapitule:
J'ai un fichier Alpha dans lequel plusieurs filtres sont appliqués à un tableau croisé dynamique se trouant dans l'onglet "Feuil4". Ce résultat qui est une valeur numérique (se trouve on va dire dans la colonne A ligne 10) doit être copié dans le Fichier Beta dans l'onglet "Manquant".
Le fichier Beta, onglet "Manquant" est composé d'une colonne A dans laquelle sont tirés toutes les dates de l'année au jour le jour. Dans la colonne B doit rentrer la valeur copié; cependant cette valeur doit se coller dans la ligne correspondante à date du jour de la colonne A.
J'espère que cela est un peu plus claire :s
Merci encore!
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
24 sept. 2014 à 08:34
24 sept. 2014 à 08:34
petite question :
La valeur à copier se situe dans la cellule "A10" de la "Feuil4", mais la date de référence se trouve dans quelle cellule ?
La valeur à copier se situe dans la cellule "A10" de la "Feuil4", mais la date de référence se trouve dans quelle cellule ?
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
24 sept. 2014 à 08:59
24 sept. 2014 à 08:59
Oui dans la cellule A10 et Feuil4 du fichier Alpha
Il n'y a pas de date de référence
Seul dans le fichier Beta, colonne A se trouve toute les dates de l'année.
Il y a pas un moyen que la macro (au moment ou elle est activée) sache la date du jour et copie la valeur dans la colonne B à la bonne ligne?
Il n'y a pas de date de référence
Seul dans le fichier Beta, colonne A se trouve toute les dates de l'année.
Il y a pas un moyen que la macro (au moment ou elle est activée) sache la date du jour et copie la valeur dans la colonne B à la bonne ligne?
WeaponEDGE
Messages postés
113
Date d'inscription
vendredi 18 juillet 2014
Statut
Membre
Dernière intervention
21 novembre 2014
9
Modifié par WeaponEDGE le 24/09/2014 à 09:31
Modifié par WeaponEDGE le 24/09/2014 à 09:31
Si si c'est possible,
Voilà le code :
Penser à mettre le nom des 2 fichiers dans les endroit respectif du code indiqué par les commenttaires
Voilà le code :
Penser à mettre le nom des 2 fichiers dans les endroit respectif du code indiqué par les commenttaires
Sub transfert()
Nom_FichierA = "" 'Indiquer le Nom dans les guillemets
Nom_FichierB = "" 'Indiquer le Nom dans les guillemets
ShtA = "Feuil4" 'Nom de la Feuille du Fichier A
ShtB = "Manquant" 'Nom de la Feuille du Fichier B
Valeur_A_Copier = Workbook(Nom_FichierA).Sheets(ShtA).Cells(10, 1)
Date_Du_Jour = Date
Nb_LigB = Workbook(Nom_FichierB).Sheets(ShtB).Cells(Rows.Count, 1).End(xlUp).Row
Depart = 2 'en supposant que les date débutent en ligne 2 du fichier B
For i = Depart To Nb_LigB
Ref_Date = Workbook(Nom_FichierB).Sheets(ShtB).Cells(i, 1).Value
If Date_Du_Jour = Ref_Date Then
Workbook(Nom_FichierB).Sheets(ShtB).Cells(i, 2) = Valeur_A_Copier
Exit For
End If
Next i
End Sub
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
24 sept. 2014 à 10:16
24 sept. 2014 à 10:16
Merci beaucoup!!
Je testerais ça plus tard, j'ai d'autres projets qui me sont tombés dessus, mais merci je te tiendrais au courant!
Je testerais ça plus tard, j'ai d'autres projets qui me sont tombés dessus, mais merci je te tiendrais au courant!
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
Modifié par Le Pingou le 24/09/2014 à 10:21
Modifié par Le Pingou le 24/09/2014 à 10:21
Bonjour,
En lisant ceci:
J'ai un fichier Alpha dans lequel plusieurs filtres sont appliqués à un tableau croisé dynamique se trouant dans l'onglet "Feuil4".
Je me pose la question si c'est faisable pour récupérer la valeur dans un TCD ..(la colonne de référence peut variée selon les fitres...?
Salutations
Le Pingou
En lisant ceci:
J'ai un fichier Alpha dans lequel plusieurs filtres sont appliqués à un tableau croisé dynamique se trouant dans l'onglet "Feuil4".
Je me pose la question si c'est faisable pour récupérer la valeur dans un TCD ..(la colonne de référence peut variée selon les fitres...?
Salutations
Le Pingou
Le Pingou
Messages postés
12225
Date d'inscription
mercredi 11 août 2004
Statut
Contributeur
Dernière intervention
6 décembre 2024
1 454
24 sept. 2014 à 18:13
24 sept. 2014 à 18:13
Bonjour,
Sauf erreur il faut écrire ... Workbooks(.....) !
Sauf erreur il faut écrire ... Workbooks(.....) !
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
25 sept. 2014 à 13:59
25 sept. 2014 à 13:59
Merci Le Pingou,
J'ai bien mis le "s" mais maintenant il me dit que l'indice n'appartient pas à la sélection.
Nom_FichierA = "data_140916test" 'Indiquer le Nom dans les guillemets Nom_FichierB = "KPI général_V2test" 'Indiquer le Nom dans les guillemets ShtA = "Tableau croisé dynamique6" 'Nom de la Feuille du Fichier A ShtB = "data mqt" 'Nom de la Feuille du Fichier B Valeur_A_Copier = Workbooks(Nom_FichierA).Sheets(ShtA).Cells(14, 1) Date_Du_Jour = Date Nb_LigB = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(Rows.Count, 1).End(xlUp).Row Depart = 2 'en supposant que les date débutent en ligne 2 du fichier B For I = Depart To Nb_LigB Ref_Date = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 1).Value If Date_Du_Jour = Ref_Date Then Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 2) = Valeur_A_Copier Exit For End If Next I
J'ai bien mis le "s" mais maintenant il me dit que l'indice n'appartient pas à la sélection.
Nom_FichierA = "data_140916test" 'Indiquer le Nom dans les guillemets Nom_FichierB = "KPI général_V2test" 'Indiquer le Nom dans les guillemets ShtA = "Tableau croisé dynamique6" 'Nom de la Feuille du Fichier A ShtB = "data mqt" 'Nom de la Feuille du Fichier B Valeur_A_Copier = Workbooks(Nom_FichierA).Sheets(ShtA).Cells(14, 1) Date_Du_Jour = Date Nb_LigB = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(Rows.Count, 1).End(xlUp).Row Depart = 2 'en supposant que les date débutent en ligne 2 du fichier B For I = Depart To Nb_LigB Ref_Date = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 1).Value If Date_Du_Jour = Ref_Date Then Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 2) = Valeur_A_Copier Exit For End If Next I
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
25 sept. 2014 à 14:42
25 sept. 2014 à 14:42
Désolé pour le message précédent, un problème est apparu :s
Merci Le Pingou,
J'ai bien mis le "s" mais maintenant il me dit que l'indice n'appartient pas à la sélection.
Nom_FichierA = "data_140916test" 'Indiquer le Nom dans les guillemets
Nom_FichierB = "KPI général_V2test" 'Indiquer le Nom dans les guillemets
ShtA = "Tableau croisé dynamique6" 'Nom de la Feuille du Fichier A
ShtB = "data mqt" 'Nom de la Feuille du Fichier B
Valeur_A_Copier = Workbooks(Nom_FichierA).Sheets(ShtA).Cells(14, 1)
Date_Du_Jour = Date
Nb_LigB = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(Rows.Count, 1).End(xlUp).Row
Depart = 2 'en supposant que les date débutent en ligne 2 du fichier B
For I = Depart To Nb_LigB
Ref_Date = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 1).Value
If Date_Du_Jour = Ref_Date Then
Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 2) = Valeur_A_Copier
Exit For
End If
Next I
Merci Le Pingou,
J'ai bien mis le "s" mais maintenant il me dit que l'indice n'appartient pas à la sélection.
Nom_FichierA = "data_140916test" 'Indiquer le Nom dans les guillemets
Nom_FichierB = "KPI général_V2test" 'Indiquer le Nom dans les guillemets
ShtA = "Tableau croisé dynamique6" 'Nom de la Feuille du Fichier A
ShtB = "data mqt" 'Nom de la Feuille du Fichier B
Valeur_A_Copier = Workbooks(Nom_FichierA).Sheets(ShtA).Cells(14, 1)
Date_Du_Jour = Date
Nb_LigB = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(Rows.Count, 1).End(xlUp).Row
Depart = 2 'en supposant que les date débutent en ligne 2 du fichier B
For I = Depart To Nb_LigB
Ref_Date = Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 1).Value
If Date_Du_Jour = Ref_Date Then
Workbooks(Nom_FichierB).Sheets(ShtB).Cells(I, 2) = Valeur_A_Copier
Exit For
End If
Next I
alexysr
Messages postés
24
Date d'inscription
dimanche 21 septembre 2014
Statut
Membre
Dernière intervention
5 avril 2016
25 sept. 2014 à 15:33
25 sept. 2014 à 15:33
C'est bon ça marche, !!
merci!!!!
merci!!!!