Erreur sur une macro

ILoveZadig

XLDnaute Occasionnel
Bonjour à tous,

J'ai un fichier de facturation sur lequel un bouton lance la macro ci-dessous. En cliquant sur ce bouton, il m'indique :
Erreur d'exécution '-2147417848 (80010108)':
La méthode 'Select' de l'objet 'Range' a échoué.

Désolé pour cette macro qui est très longue, mais je ne m'y connais pas vraiment, et je n'aurais pas voulu supprimer un élément utile pour votre compréhension. :)

NB : En gras rouge, la ligne de code qui pose problème.

Code:
Sub Macro7()
'
' Macro7 Macro
'

'
    Range("H3").Select
    ActiveCell.FormulaR1C1 = "FACTURE (ou Avoir)"
    [B][COLOR="Red"]Range("E9:H15").Select[/COLOR][/B]
    Selection.ClearContents
    Range("D15").Select
    Selection.ClearContents
    Range("B18:C19").Select
    Selection.ClearContents
    Range("D18:D19").Select
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=9
    Range("B23:G43").Select
    Selection.ClearContents
    Range("G45").Select
    ActiveWindow.SmallScroll Down:=6
    Selection.ClearContents
    Range("D47:D48").Select
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=9
    Range("H52").Select
    Selection.ClearContents
    ActiveWindow.SmallScroll Down:=-69
    Range("E9").Select
    ActiveCell.FormulaR1C1 = "NOM DE LA SOCIETE"
    Range("E10").Select
    ActiveCell.FormulaR1C1 = "Adresse 1"
    Range("E11").Select
    ActiveCell.FormulaR1C1 = "Adresse 2"
    Range("E12").Select
    ActiveCell.FormulaR1C1 = "CP Ville"
    Range("B18").Select
    ActiveCell.FormulaR1C1 = "contact"
   
    Range("B19").Select
    ActiveCell.FormulaR1C1 = "n° téléphone"
    
    Range("D18:D19").Select
    ActiveCell.FormulaR1C1 = "à préciser"
    Range("B23").Select
    ActiveCell.FormulaR1C1 = "Compte de"
    Range("B24").Select
    ActiveCell.FormulaR1C1 = "recette + "
    Range("B25").Select
    ActiveCell.FormulaR1C1 = "compte "
    Range("B26").Select
    ActiveCell.FormulaR1C1 = "analytique"
    Range("B28").Select
    ActiveCell.FormulaR1C1 = "(ex : 706811"
    Range("B29").Select
    ActiveCell.FormulaR1C1 = "SIN02 S ou N)"
    Range("H23").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,RC[-1]*RC[-2],)"
    Range("H24").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,RC[-1]*RC[-2],)"
    Range("H25").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,RC[-1]*RC[-2],)"
    Range("H26").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H27").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H28").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H29").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H30").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H31").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H32").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H33").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H34").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H35").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H36").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H37").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H38").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H39").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H40").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H41").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H42").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H43").Select
    ActiveCell.FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,+RC[-1]*RC[-2],)"
    Range("H44").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
    Range("H45").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("H46").Select
    ActiveCell.FormulaR1C1 = _
        "=0.021*SUMIF(R[-23]C[-3]:R[-3]C[-3],2.1,R[-23]C:R[-3]C)"
    Range("H47").Select
    ActiveCell.FormulaR1C1 = _
        "=0.055*SUMIF(R[-24]C[-3]:R[-4]C[-3],5.5,R[-24]C:R[-4]C)"
    Range("H48").Select
    ActiveCell.FormulaR1C1 = _
        "=0.196*SUMIF(R[-25]C[-3]:R[-5]C[-3],19.6,R[-25]C:R[-5]C)"
    Range("H49").Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
    Range("H50").Select
    ActiveCell.FormulaR1C1 = "=R[-4]C+R[-3]C+R[-2]C"
    Range("H51").Select
    ActiveWindow.SmallScroll Down:=9
    Range("H54").Select
    ActiveCell.FormulaR1C1 = "=R[-5]C-R[-2]C"
    Range("H55").Select
    ActiveWindow.SmallScroll Down:=-42
    Range("H3").Select

   
End Sub

Merci beaucoup à tous pour vos réponses.
 

JNP

XLDnaute Barbatruc
Re : Erreur sur une macro

Bonsoir ILoveZadig :),
Je pense qu'il manque simplement un retour à la ligne
Code:
...
Range("H3").Select
    ActiveCell.FormulaR1C1 = "FACTURE (ou Avoir)"
    [COLOR=red][B]Range("E9:H15").Select[/B][/COLOR]
[COLOR=red][B]    Selection.ClearContents[/B][/COLOR]
    Range("D15").Select
    Selection.ClearContents
    Range("B18:C19").Select
...
Bonne soirée :cool:
Ajout : Tu viens de modifier ton post... Sinon, est-ce que les cellules ne seraient pas fusionnées ?
 
Dernière édition:

vbacrumble

XLDnaute Accro
Re : Erreur sur une macro

Bonsoir


Je me suis permis de réduire ta macro
(car elle me faisait mal aux yeux ;) )

Code:
Sub Macro7()
Range("H3")= "FACTURE (ou Avoir)"
Range("E9:H15,D15,B18:C19,D18:D19,B23:G43,G45,D47:D48,H52").ClearContents
Range("E9:E12") = _
Application.Transpose(Array("NOM DE LA SOCIETE", "Adresse 1", "Adresse 2", "CP Ville"))
Range("B18") = "contact"
Range("B19") = "n° téléphone"
Range("D18:D19") = "à préciser"
Range("B23:B29") = _
Application.Transpose(Array("Compte de", "recette + ", "compte ", "analytique", "", "(ex : 706811", "SIN02 S ou N)"))
Range("H23:H43").FormulaR1C1 = "=IF((RC[-1]*RC[-2])>0,RC[-1]*RC[-2],)"
Range("H44").FormulaR1C1 = "=SUM(R[-21]C:R[-1]C)"
Range("H45").FormulaR1C1 = "=RC[-1]"
Range("H46").FormulaR1C1 = _
       "=0.021*SUMIF(R[-23]C[-3]:R[-3]C[-3],2.1,R[-23]C:R[-3]C)"
Range("H47").FormulaR1C1 = _
        "=0.055*SUMIF(R[-24]C[-3]:R[-4]C[-3],5.5,R[-24]C:R[-4]C)"
Range("H48").FormulaR1C1 = _
        "=0.196*SUMIF(R[-25]C[-3]:R[-5]C[-3],19.6,R[-25]C:R[-5]C)"
Range("H49").FormulaR1C1 = "=SUM(R[-5]C:R[-1]C)"
Range("H50").FormulaR1C1 = "=R[-4]C+R[-3]C+R[-2]C"
Range("H54").FormulaR1C1 = "=R[-5]C-R[-2]C"
End Sub
 
Dernière édition:

ILoveZadig

XLDnaute Occasionnel
Re : Erreur sur une macro

Bonjour vbacrumble,JNP, le forum,

Je vais essayer cette macro épurée :)

Par contre, est-il possible que cette macro ne fonctionne pas à cause de la protection de la feuille?

J'ai d'autres macros sur ce classeur, avec ActiveSheet.Unprotect et Protect, mais pas celle-là. Je n'avais pas eu de problème jusqu'à maintenant, mais peut-être est-ce dû à ça.?

Merci beaucoup pour votre aide en tout cas.
 

Discussions similaires

Réponses
14
Affichages
688
Réponses
7
Affichages
389
Réponses
11
Affichages
465

Statistiques des forums

Discussions
312 376
Messages
2 087 732
Membres
103 655
dernier inscrit
MOUNIRACH16