Problème d'objet requis erreur '424'

Fermé
goldy07 Messages postés 4 Date d'inscription mardi 24 août 2010 Statut Membre Dernière intervention 26 août 2010 - 26 août 2010 à 09:10
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 26 août 2010 à 10:07
Bonjour,

j'ai un petit soudi d'objet requis avec ma macro Vba excel, peut êtr pourriez vous m'aider :
Le but de la macro étant tout bêtement de lui faire faire des copier coller selon des filtres prédéfinis; voici le postulat de départ
(i étant le numéro de la ligne, les colonnes sont désignées par leur lettre en majuscule)


Dim i As Integer

For i = 3 To 1000

If Cells(i, "C") = "A" Or Cells(i, "G") <> Null Or Cells(i, "I") <> Null Then
Range("Ai:Gi").Select
Selection.Copy
Sheets("Tableau réglementaire").Select
Range("Ai:Gi").Select
Activatesheet.Paste - c'est sur cette ligne que se présente l'erreur -
Sheets("Tableau complet").Select
Range("Ii:Ii").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tableau réglementaire").Select
Range("Hi:Hi").Select
Activatesheet.Paste
Sheets("Tableau complet").Select
Range("Ki:Ki").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tableau réglementaire").Select
Range("Ii:Ii").Select
Activatesheet.Paste
End If

Next i

Merci d'avance :)

2 réponses

pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 745
Modifié par pijaku le 26/08/2010 à 10:08
Bonjour,
En reprenant simplement votre code :
Dim i As Integer  
For i = 3 To 1000  
With Sheets("Tableau complet") 
If .Cells(i, 3) = "A" Or .Cells(i, 7) <> Null Or .Cells(i, 9) <> Null Then  
.Range(.Cells(i, 1), .Cells(i, 7)).Copy Sheets("Tableau réglementaire").Range("A" & i) 
.Range("I" & i).Copy Sheets("Tableau réglementaire").Range("H" & i) 
.Range("K" & i).Copy Sheets("Tableau réglementaire").Range("I" & i) 
End If  
End With 
Next i  

Je ne connais pas la syntaxe ActivateSheet mais ActiveSheet.
Cordialement,
-- Tout problème à sa solution. S'il n'y a pas de solution, ou est le problème? --
1
ghuysmans99 Messages postés 2496 Date d'inscription jeudi 14 juillet 2005 Statut Contributeur Dernière intervention 5 juin 2016 338
Modifié par ghuysmans99 le 26/08/2010 à 10:13
Fonctionne ... probablement.
Dim i As Integer 
For i = 3 To 1000 
 If Cells(i, "C") = "A" Or Cells(i, "G") <> Null Or Cells(i, "I") <> Null Then 
  Range("A" & i & ":G" & i).Select 
  Selection.Copy 
  Sheets("Tableau réglementaire").Select 
  Range("A" & i & ":G" & i).Select 
  Activesheet.Paste 'err 
  Sheets("Tableau complet").Select 
  Range("I" & i & ":I" & i).Select 
  Application.CutCopyMode = False 
  Selection.Copy 
  Sheets("Tableau réglementaire").Select 
  Range("H" & i & ":H" & i).Select 
  Activesheet.Paste 
  Sheets("Tableau complet").Select 
  Range("K" & i & ":K" & i").Select 
  Application.CutCopyMode = False 
  Selection.Copy 
  Sheets("Tableau réglementaire").Select 
  Range("I" & i & ":I" & i).Select 
  Activesheet.Paste 
 End If 
Next i 

Google is your best friend
VB.NET is good ... VB6 is better !
0