Problème d'objet requis erreur '424'

goldy07 Messages postés 9 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 768
 
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   Statut Contributeur Dernière intervention   340
 
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