Remplacer ds Excel avec Paste (un peu tordu ^^)

Résolu
dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005 - 2 sept. 2005 à 11:51
dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005 - 5 sept. 2005 à 11:04
Hello everybody!

Voila mon pblme : je dois updater un fichier a partir d'un autre... en
utilisant une macro XL4, je recupere les données, les stocke en bas de
ma sheet et le souci commence ici :

Je dois remplacer les entrées existantes si (et seulement si) le nom de
l'entreprise et la date correpsondent. Si c le cas, je dois remplacer
l'ancienne ligne par la nouvelle (dc je ne peux pas faire de tri comme
on fait en general pour les doublons)



Voila mon code :



For Each cell In ActiveWorkbook.Sheets("WIP").Range("B105:B200") 'on cherche dans les WiP ajoutés



SearchString =
cell.Text
'on recupere le nom de l'entreprise

'MsgBox ("Voila ds la premiere liste:" & SearchString)

If SearchString = "" Then
GoTo 2 ' pr eviter les lignes vides



For Each cellule In
ActiveWorkbook.Sheets("WIP").Range("B5:B95") ' on
cherche dans la base deja existante

SearchChar = cellule.Text

'MsgBox ("Voila ds la deuxieme liste:" & SearchChar)



If
SearchChar = "" Then GoTo 1 ' pr eviter les lignes vides



MyPos = InStr(SearchString, SearchChar)



If
MyPos > 0
Then
' on teste si il y a une difference



Set Macell = cellule

Set Maplage = cell




If Maplage.Offset(0, 1) = Macell.Offset(0, 1) Then


Maplage.EntireRow.Select


Selection.Copy


Maplage.EntireRow.Delete


Macell.EntireRow.Select


MsgBox ("hum!")


ActiveSheet.Paste 'ici ca plante


MsgBox ("hum!")

End If



End If

1 Next

2 Next



g essayé pas mal de chose, y compris un pasteSpecial sur Macell.EntireRow, ms rien ne marche!!

Help me please ;)

7 réponses

dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005
5 sept. 2005 à 11:04
Youhou Ca marche! Voila probablement la raison de ts mes maux!



"Worksheets(2).Cells(1, 2).EntireRow.PasteSpecial Operation:=xlPasteSpecialOperationAdd"



Merci vraiment bcp 69chris, et au plaisir!
3
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
2 sept. 2005 à 13:09
Salut,



Maplage.EntireRow.Select

Selection.Copy

Maplage.EntireRow.Delete 'Supprime la selection, donc les données sont où??

Macell.EntireRow.Select

MsgBox ("hum!")

ActiveSheet.Paste 'ici ca plante

MsgBox ("hum!")


Essai ça



Maplage.EntireRow.Select


Selection.Copy

Macell.EntireRow.Select


MsgBox ("hum!")


ActiveSheet.Paste 'ici ca plante


Maplage.EntireRow.Delete


MsgBox ("hum!")



Chris


N'oubliez pas de cloturer votre post.
0
dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005
2 sept. 2005 à 13:33
Tout d'abord, merci pr la reponse!

Mais...

a priori les données sont copiees ds le presse papier, dc... j'ai
néanmoins essayé ta solution, et je me retrouve avec le meme probleme
(entre les deux "hum"!)!

D'autres idées eventuellement?
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
2 sept. 2005 à 14:21
Entre Excel et Press papier, je me méfie.

J'y pense, tu as une cellule active sur l'ActiveSheet?

En c'est quoi le message d'erreur (précis).



Chris


N'oubliez pas de cloturer votre post.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005
2 sept. 2005 à 14:48
Alors,

aie tenté la cellule active, ca donne pas grd chose!

le message que j'ai (tjs apres le premier hum!) :

run-Time error '1004' : Application-defined or object-defined error



J'espere que ca pourra aider... Merci d'avance!
0
cs_69chris Messages postés 318 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 30 décembre 2005 1
2 sept. 2005 à 17:09
Bon, je viens de faire un essai avant mon WE. Voici mon code



Worksheets(1).Cells(1, 1).EntireRow.Copy

Worksheets(2).Cells(1, 2).EntireRow.PasteSpecial Operation:=xlPasteSpecialOperationAdd

Worksheets(1).Cells(1, 1).EntireRow.Delete


Ca marche, pas de message d'erreur. Ok, c'est pas du paramétré comme ton code. J'espère que ça marchera.



Chris


N'oubliez pas de cloturer votre post.
0
dreamlite Messages postés 9 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 6 septembre 2005
2 sept. 2005 à 17:38
Ok merci bien, j'essaie ca lundi ^^

Bon WE!
0
Rejoignez-nous