Chercher valeur cellule dans autre répertoire
Fermé
Seb
-
24 janv. 2009 à 13:33
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 25 janv. 2009 à 10:38
lermite222 Messages postés 8702 Date d'inscription dimanche 8 avril 2007 Statut Contributeur Dernière intervention 22 janvier 2020 - 25 janv. 2009 à 10:38
A voir également:
- Chercher valeur cellule dans autre répertoire
- Le fichier contient le nombre de voyageurs dans 3 gares. dans la cellule b5, saisissez une formule qui calcule le total et se met à jour si on change une valeur du tableau. quel total obtenez-vous ? quelle formule avez-vous saisie ? ✓ - Forum Excel
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel colorer une cellule sous condition d'une autre cellule ✓ - Forum Excel
- Aller à la ligne dans une cellule excel - Guide
- Excel renvoyer la valeur d'une cellule en fonction d'une autre - Forum Logiciels
10 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 193
24 janv. 2009 à 13:45
24 janv. 2009 à 13:45
Bonjour,
Essaye avec...
A+
Essaye avec...
Sub macrook()
Dim i As Integer
Dim Report As Workbooks
Dim Base As Workbooks
'Supposant que cette macro est dans le classeur Base
Set Report = "C:\Documents and Settings\Seb\Mes documents\Cours\ProjetVBABOUGEOIS.xls"
Report.Open 'Manquerait pas un Slach là ?
Set Base = "C:\Documents and Settings\SebMes documents\Cours\ProjetVBAHITRATIO.xls"
'Je ne peu rien dire sur les conditions faute de renseignement
For i = 1 To 7
If Workbooks(Base).ActiveSheet("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks(Base).ActiveSheet("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks(Report).Sheets("Feuil1").Cells(i, 2) = Workbooks(Base).Sheets("Feuil1").Cells(i, 2)
End If
Next
End Sub
A+
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 193
24 janv. 2009 à 14:00
24 janv. 2009 à 14:00
Sub MacroSuite()
'Plus simple
Dim i As Integer
Dim Report As Worksheet
Dim Base As Worksheet
Workbooks("C:\Documents and Settings\Seb\Mes documents\Cours\ProjetVBABOUGEOIS.xls").Open
Set Report = woorkbooks("ProjetVBABOUGEOIS.xls").Sheets("Feuil1")
Set Base = Workbooks("ProjetVBAHITRATIO.xls").Sheets("Feuil1")
For i = 1 To 7
If Base.Cells(i, 2) >= DateValue("12/01/2004") And _
Base.Cells(i, 2) <= DateValue("12/02/2004") Then
Report.Cells(i, 2) = Base.Cells(i, 2)
End If
Next
End Sub
Je ne peu toujours pas tester vu qu'il me manque tes classeurs et les renseignement nécessaires.
Tu dis.
A+
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
24 janv. 2009 à 15:30
24 janv. 2009 à 15:30
Salut
Essai comme ça
Pas besoin de t'encombrer avec un format date ce que tu cherche c'est seulement une correspondance, par contre ta boucle rend compte seulement pour la feuille base mais pas report donc pour voir si sa fonctionne déjà fait une copie dans un range comme ceux-ci.
Essai comme ça
Set Report = woorkbooks("ProjetVBABOUGEOIS.xls").Sheets("Feuil1")
Set Base = Workbooks("ProjetVBAHITRATIO.xls").Sheets("Feuil1")
For i = 1 To 7
If Base.Cells(i, 2).value >= "12/01/2004" then
if Base.Cells(i, 2).value <= "12/02/2004" Then
Report.Range("A1").value = Base.Cells(i, 2).value
End If
End if
Next
Pas besoin de t'encombrer avec un format date ce que tu cherche c'est seulement une correspondance, par contre ta boucle rend compte seulement pour la feuille base mais pas report donc pour voir si sa fonctionne déjà fait une copie dans un range comme ceux-ci.
Encore merci Herod1983 mais ça marche tjrs pas grrrrrrrrr
si on part de mon code initial,ça me marque une erreur à la ligne soulignée et je vois pas ou est le souci ! sniif
Sub macrook()
Dim i As Integer
report = "C:\Documents and Settings\Mathieu Merkiled\Mes documents\Cours\ProjetVBABOUGEOIS.xls"
base = "C:\Documents and Settings\Mathieu Merkiled\Mes documents\Cours\ProjetVBAHITRATIO.xls"
For i = 1 To 7
If Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks(report).Sheets("Feuil1").Cells(i, 2) = Workbooks(base).Sheets("Feuil1").Cells(i, 2)
End If
Next
End Sub
si on part de mon code initial,ça me marque une erreur à la ligne soulignée et je vois pas ou est le souci ! sniif
Sub macrook()
Dim i As Integer
report = "C:\Documents and Settings\Mathieu Merkiled\Mes documents\Cours\ProjetVBABOUGEOIS.xls"
base = "C:\Documents and Settings\Mathieu Merkiled\Mes documents\Cours\ProjetVBAHITRATIO.xls"
For i = 1 To 7
If Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) >= DateValue("12/01/2004") And Workbooks(base).ActiveSheet("Feuil1").Cells(i, 2) <= DateValue("12/02/2004") Then
Workbooks(report).Sheets("Feuil1").Cells(i, 2) = Workbooks(base).Sheets("Feuil1").Cells(i, 2)
End If
Next
End Sub
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
24 janv. 2009 à 15:59
24 janv. 2009 à 15:59
désolé j'ai fais trop vite je suis dessus
je te tiens au courant
je te tiens au courant
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
24 janv. 2009 à 16:10
24 janv. 2009 à 16:10
la c'est bon la macro de recherche fonctionne il y avait juste des .value a intégrer ta macro était bonne
par contre je ne peux pas voir pour la copie vers un autre classeur
en tous cas il te faudra je pense d'abord ouvrir le classeur report avant de copier des valeurs dedans, comme je t'es mis.
par contre je ne peux pas voir pour la copie vers un autre classeur
en tous cas il te faudra je pense d'abord ouvrir le classeur report avant de copier des valeurs dedans, comme je t'es mis.
For i = 1 To 7
If Cells(i, 2).Value > DateValue("11/01/2004") And _
Cells(i, 2).Value < DateValue("13/02/2004") Then
workbook(report).open
report.sheets(1).Cells(i, 2).Value = Cells(i, 2).Value
End If
Next i
heu.....ça marche toujours pas j'ai encore essayé un autre code mais ça veut pas
c'est un truc de fou !!!!
c'est un truc de fou !!!!
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
24 janv. 2009 à 16:25
24 janv. 2009 à 16:25
pour le code de recherche si tu le fais que dans le classeur base sa fonctionne c'est la copie dans le classeur report qui déconne je cherche aussi lol
herod1983
Messages postés
193
Date d'inscription
jeudi 2 octobre 2008
Statut
Membre
Dernière intervention
3 août 2012
5
24 janv. 2009 à 16:32
24 janv. 2009 à 16:32
Voila la c'est bon change juste le chemin de report
report = "f:\Textes\essai2.xls"
For i = 1 To 7
If Cells(i, 2).Value > DateValue("11/01/2004") And _
Cells(i, 2).Value < DateValue("13/02/2004") Then
Application.DisplayAlerts = False
Workbooks.Open report, 0, ReadOnly:=False
ActiveWorkbook.Sheets(1).Cells(i, 2).Value = Cells(i, 2).Value
Application.DisplayAlerts = True
End If
Next i
End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 193
25 janv. 2009 à 09:42
25 janv. 2009 à 09:42
Re,
Si au moins tu disait l'erreur que tu à ? le texte et le N° ?
Quel est le nom du classeur DEJA ouvert et dans lequel tu met la macro ?
"Ca marche pas" ça ne nous dis pas grand chose.
Si au moins tu disait l'erreur que tu à ? le texte et le N° ?
Quel est le nom du classeur DEJA ouvert et dans lequel tu met la macro ?
"Ca marche pas" ça ne nous dis pas grand chose.
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 193
25 janv. 2009 à 10:38
25 janv. 2009 à 10:38
Bon, j'ai créer des classeurs suivant tes explications, j'ai fait la macro et elle fonctionne (j'ai tester)
J'ai décomposé les noms pour pouvoir suivre le déroulement de la macro, mais ce n'est pas nécessaire.
Pour test colle la macro tel quel.
Si ça coince quel que part, dis le N° de l'erreur et sont libellé.
A+
A+
Sub MacroSuite()
'Plus simple
Dim i As Integer
Dim Report As Worksheet
Dim Base As Worksheet
Dim Nom1 As String, Nom2 As String
Dim Chemin As String
'de ProjetVBAHITRATIO.xls >>> à >>> ProjetVBABOUGEOIS.xls
'Base = ProjetVBAHITRATIO.xls et est le classeur ouvert
Nom1 = "ProjetVBABOUGEOIS.xls"
Chemin = Environ$("USERPROFILE") & "\mes documents\Cours\ProjetVBABOUGEOIS.xls"
Workbooks.Open (Chemin)
Set Report = Workbooks(Nom1).Sheets("Feuil1")
Nom2 = ThisWorkbook.Name
Set Base = Workbooks(Nom2).Sheets("Feuil1")
For i = 1 To 7
If Base.Cells(i, 2) >= DateValue("12/01/2004") And _
Base.Cells(i, 2) <= DateValue("12/02/2004") Then
Report.Cells(i, 2) = Base.Cells(i, 2)
End If
Next
End Sub
J'ai décomposé les noms pour pouvoir suivre le déroulement de la macro, mais ce n'est pas nécessaire.
Pour test colle la macro tel quel.
Si ça coince quel que part, dis le N° de l'erreur et sont libellé.
A+
A+