Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

erreur 1004 definie par l'application ou l'onglet

gcedric

XLDnaute Nouveau
Bonjour,

Je suis nouveau en macro... je viens de récupérer la gestion des macros et j'ai une erreur exécution 1004 sur une ligne alors que la macro fini de s'executer...

Pourriez vous me dire ce qu'il faudrait que je modifis pour que cela fonctionne... la ligne d'erreur est "Cells(lig_affaire, col_affaire).Select"

Merci de votre aide

Cédric

PS voici le code.

Sub liste_postes()

Application.ScreenUpdating = False
myvar = "toto"

repcourant = ThisWorkbook.Path & "\"
fichier_bilan_cumul = ThisWorkbook.Name

lig_affaire = 73
col_affaire = 5

Sheets("Gestion").Activate
Range("h4").Select
Selection.ClearContents

Range("h2").Select
affaire = ActiveCell

Range("i4").Select
affaire2 = ActiveCell
On Error GoTo 10
ActiveWorkbook.Names("liste_pos").Delete
10:
Resume Next
On Error GoTo 0

Sheets("Annexe2").Activate
ActiveSheet.Unprotect (myvar)
nbre_dess = Cells(1, 3)

If affaire = "" Then

GoTo 100

Else

If Cells(lig_affaire, col_affaire) <> "" Then

Cells(lig_affaire, col_affaire).Select

'********************************************
'Nettoyage de l'onglet Annexe - Enlève le texte "TOUS ..."
'********************************************

Do While ActiveCell.Value <> affaire2
If ActiveCell.Column = 256 Then
lig_affaire = lig_affaire + nbre_dess + 100
col_affaire = 5
Cells(lig_affaire, col_affaire).Select
If lig_affaire = 65000 Then
MsgBox ("blablablablablabla")
End If
Else
ActiveCell.Offset(0, 1).Select
End If
Loop

col_affaire3 = ActiveCell.Column
Cells(lig_affaire - 2, col_affaire3).Select

Do Until ActiveCell.Value = "" Or ActiveCell = "TOUS ..."
ActiveCell.Offset(-1, 0).Select
Loop

Selection.ClearContents


'********************************************
'Détermination des listes
'********************************************

lig_affaire = 73
Cells(lig_affaire, col_affaire).Select

Do While ActiveCell.Value <> affaire
If ActiveCell.Column = 256 Then
lig_affaire = lig_affaire + nbre_dess + 100
col_affaire = 5
Cells(lig_affaire, col_affaire).Select
Else
ActiveCell.Offset(0, 1).Select
End If
Loop

col_affaire2 = ActiveCell.Column


'********************************************
'Détermination de la liste de postes
'********************************************

Cells(lig_affaire - 2, col_affaire2).Select

Do Until ActiveCell.Value = ""
ActiveCell.Offset(-1, 0).Select
Loop

lig_poste = ActiveCell.Row + 1
nbre_postes = (lig_affaire - 2) - (lig_poste - 1)

If nbre_postes = 1 Then
Cells(lig_poste, col_affaire2).Select
Else
ActiveCell = "TOUS ..."
lig_poste = lig_poste - 1
End If

poste = ActiveCell
Sheets("Gestion").Select
ActiveWorkbook.Names.Add Name:="liste_pos", RefersToR1C1:= _
"=Annexe2!R" & lig_poste & "C" & col_affaire2 & ":R" & (lig_affaire - 2) & "C" & col_affaire2
Range("H4").Select

ActiveCell = poste

Range("I4").Select
ActiveCell = affaire

Call bilan_affaire1

Else

100:
MsgBox ("blablabla" & _
Chr(13) & "blablabla")

Sheets("Gestion").Activate

End If

End If

Sheets("Annexe2").Activate
ActiveSheet.Protect (myvar)
Sheets("Gestion").Activate

End Sub
 

Dranreb

XLDnaute Barbatruc
Re : erreur 1004 definie par l'application ou l'onglet

Bonjour.
Enlevez les Select.
Contrater les ".Select :Selection." en ".".
Travaillez avec des variables déclarées As Range sur lesquelles vous ferez des Set plutôt qu'avec Selection et ActiveCell
À +
 

Discussions similaires

Réponses
2
Affichages
259
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…