Erreur définie par l'application ou par l'objet

Fermé
amelise Messages postés 52 Date d'inscription jeudi 6 mai 2010 Statut Membre Dernière intervention 11 novembre 2022 - 1 juil. 2016 à 17:20
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 2 juil. 2016 à 12:44
Bonjour,

J'ai ce message d'erreur qui est apparu alors qu'auparavant la formule marchait.
J'aimerais savoir également comment on fait pour tirer la formule jusqu'à la dernière cellule de la colonne Z en disant "tire la formule si la cellule de la colonne d'à côté contient des données (colonne Y).

La voici:

Private Sub CommandButton1_Click()
Workbooks.Open Filename:="D:\Documents\GC.xlsm"
Windows("GC.xlsm").Activate
ActiveCell.Offset(-11, 18).Range("A1").Select
Selection.EntireColumn.Insert , CopyOrigin:=xlFormatFromLeftOrAbove
ActiveCell.FormulaR1C1 = "Numéro de colis 2"
ActiveCell.Offset(1, 0).Range("A1").Select
ActiveCell.FormulaR1C1 = "=RIGHT(RC[-1],LEN(RC[-1])-1)"

N'hésitez pas à me dire s'il y a des erreurs car je suis ultra débutante en VBA.

Merci beaucoup

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 776
2 juil. 2016 à 12:44
Bonjour,

"N'hésitez pas à me dire s'il y a des erreurs car je suis ultra débutante en VBA. "

1) Une erreur potentielle :
ActiveCell.Offset(-11, 18).Range("A1").Select
genère une erreur quand la cellule active (lors du dernier enregistrement du fichier CG.xlsm) se situe dans la plage A1:A11 !

2) Il n'est pas utile de sélectionner une cellule pour exécuter une méthode ou pour modifier une propriété. Autrement dit : les .Select sont superflus.

3) Il est préférable d'utiliser le Target d'un évènement plutôt qu'ActiveCell.
0