|
|
|
|
Configuration: Windows XP Internet Explorer 6.0
Bonjour,
Les essais effectués supprime les valeurs cherchées Montre la macros qui efface les données, ont pourra peut-être la corrigé. A+ L'expérience instruit plus sûrement que le conseil. (André Gide)
|
Merci Lermite222,
la voici. Dim i As Integer Windows("classeur1").Activate Worksheets("feuil1").Activate For i = 6 To 2500 n = n + 1 Cells(i, 3).Value = Empty '(Si je retire value sa ne fonctionne plus) valcherche = Cells(B & n).Value Windows("Classeur2").Activate Worksheets("Feuil1").Activate If Cells(i, 3).Value = valcherche Then End If Next i Range(Cells(i, 8), Cells(i, 36)).Select Selection.Copy Windows("classeur1").Activate Worksheets("feuil1").Activate Range(Cells(i, 7), Cells(i, 35)).Select ActiveSheet.Paste '(me colle une seul ligne) |
un petit Up pour evité un repost |
bonjour,
quelque petit problèmes que je comprend pas... Dim i As Integer Windows("classeur1").Activate Worksheets("feuil1").Activate For i = 6 To 2500 'Pourquoi un 2ém compteur n = n + 1 Cells(i, 3).Value = Empty '(Si je retire value sa ne fonctionne plus) Empty =Rien donc tu vide la cellule valcherche = Cells(B & n).Value 'Où est la valeur de b Windows("Classeur2").Activate Worksheets("Feuil1").Activate If Cells(i, 3).Value = valcherche Then qu'est-ce qu'ont fait ? End If Next i Range(Cells(i, 8), Cells(i, 36)).Select Selection.Copy Windows("classeur1").Activate Worksheets("feuil1").Activate Range(Cells(i, 7), Cells(i, 35)).Select ActiveSheet.Paste '(me colle une seul ligne) Explique déjà ,ca.. A+ L'expérience instruit plus sûrement que le conseil. (André Gide)
|
Maintenant ont va pouvoir commencer le débogage...Mais reste quelques points obscures...
explique où et comment tu trouve - Valcherche D'une manière générale essaye d'expliquer plus clairement ce que tu veux faire, avec ta macro c'est incompréhensible. Tu copie de Classeur? à Classeur?.. 'là je crois que c'est du 1 au 2 Tu parle d'ajouter des lignes mais je vois ca nulle part ? L'expérience instruit plus sûrement que le conseil. (André Gide)
|
C'est dur a comprendre...
Copie cette macro et dit-moi si elle s'arrète sur le stop. Si j'ai compris, tu prend une cellule du classeur 1 colonne B (2) et tu la recherche dans le classseur 2 à la colonne C (3) Si c'est comme ca, la macro devrait s'arrèter dés qu'il y a concrdance. Si c'est pas ca met tes 2 classeur sur Cjoint http://cjoint.com/ Sub CopieCell()
Dim FL1 As Worksheet
Dim FL2 As Worksheet
Dim i As Long, e As Long
Dim Valcherche As Variant
Set FL1 = Workbooks("classeur1").Worksheets("feuil1")
Set FL2 = Workbooks("classeur2").Worksheets("feuil1")
'Pour aller jusqu'a la dernière ligne renseignée.
For i = 6 To FL1.Range("A1").SpecialCells(xlCellTypeLastCell).Row
'Valcherche = FL1.Cells(i, 2).Value 'Pas nécessaire.
For e = 1 To FL2.Range("A1").SpecialCells(xlCellTypeLastCell).Row
If FL2.Cells(e, 3) = FL1.Cells(i, 2).Value Then
Stop
Next e
Next i
End Sub
L'expérience instruit plus sûrement que le conseil. (André Gide)
|
Ca vaux pas la peine que je remette les classeur,copie la macro ci-dessous DANS UN MODULE (pas un module de feuille)
Sub CopieCell()
Dim FL1 As Worksheet
Dim FL2 As Worksheet
Dim i As Long, e As Long
Dim Valcherche As Variant
' Set FL1 = Workbooks("classeur1").Worksheets("feuil1")
' Set FL2 = Workbooks("classeur2").Worksheets("feuil1")
'Pour le test dans le classeurs envoyer...
Set FL1 = Workbooks("Pour-Macro.xls").Worksheets("Classeur1 Feuil1")
Set FL2 = Workbooks("Pour-Macro.xls").Worksheets("Classeur2 Feui 2")
'Pour aller jusqu'a la dernière ligne renseignée.
For i = 7 To FL1.Range("B1").SpecialCells(xlCellTypeLastCell).Row
For e = 6 To FL2.Range("B1").SpecialCells(xlCellTypeLastCell).Row
If FL2.Cells(e, 2) = FL1.Cells(i, 3).Value Then
FL2.Range(Cells(e, 4), Cells(e, 7)).Copy FL1.Cells(i, 4)
End If
Next e
Next i
End Sub
Reste une chose que j'ai pas compris, la colonne avec les ok et nok, elle sert à quoi ? Et toutes les données sont toujours recopiées ou bien uniquement cells qui ne sont pas encore actualisées ? L'expérience instruit plus sûrement que le conseil. (André Gide) |
Bonjour Lermite222,
j'ai testé ta macro et elle ne passe pas, mais j'ai chercher encore de mon coté et j'ai réussi a copier. L'actualisation je sais pas faire. Si un la cible change de place je vois pas comment l'actualisé. Les Ok et nok, elle ne sert a rien c'est une colonne que j'ai rajouté pour ciblé les endroits à copier/coller. Comment copier que les cellules qui on été actualisé ?? Pour infos : Sub CopCol() 'Lance la mise à jour Windows("Classeur1.xls").Activate Sheets("Feuil1").Activate lignemaxC1 = 5 Do lignemaxC1 = lignemaxC1 + 1 Loop Until Cells(lignemaxC1, 3).Value = "" Windows("Classeur2.xls").Activate Sheets("Details DIMat-X").Activate lignemaxC1 = 5 Do lignemaxC2 = lignemaxC2 + 1 Loop Until Cells(lignemaxC2, 2).Value = "" For i = 6 To lignemaxC1 - 1 Windows("Classeur1.xls").Activate Sheets("Feuil1").Activate Cells(i, 3).Select valeurchercher = ActiveCell.Value trouve = False ligne = 100 Do Windows("Classeur2.xls").Activate Sheets("Details DIMat-X").Activate Cells(ligne, 2).Select If Selection.Value = valeurchercher Then trouve = True Range(Cells(ligne, 8), Cells(ligne, 37)).Select Selection.Copy Windows("Classeur2.xls").Activate Sheets("Feuil1").Activate Cells(i, 7).Select ActiveSheet.Paste GoTo suivantC1 End If ligne = ligne + 1 Loop Until ligne = lignemaxC2 If trouve <> True Then MsgBox ("non trouvée !") End If suivantC1: Next i Range("B5").Select End Sub |
Si la macro "ne passe pas" c'est que tu ne l'a pas tester sur le fichier que tu m'a envoyer, je l'ai tester plusieurs fois et elle fonctionnait parfaitement.
Attention aux nom des feuilles, plutôt que de les écrire fait un copier/coller, car une erreur est vite arrivée, regarde dans le classeur envoyé, il y a une erreur dans le 2ém nom... et si j'avais pas fait copier/coller la macro se serrait plantée. L'expérience instruit plus sûrement que le conseil. (André Gide) |
Ok, un grand merci!!
je vais regarder sa ^^. Bonne journée |
Salut,
La demande est résolue, je n'arrive pas à changer le statut. Encore merci! |
Résultats pour Macro excel : chercher valeur de cellules
Résultats pour Macro excel : chercher valeur de cellules