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

  1. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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
  2. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    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