Excel VBA erreur 1004

Résolu
fapfapfap -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Voici une partie de la macro que je réalise en ce moment. Lors de l'exécution, la macro plante à la dernière ligne alors qu'il s'agit d'une banale sélection de plage (erreur 1004)


---------------

Range("P3").Select
Selection.ClearContents


Dim DrLig As Long
With Sheets("Reporting détaillé")

DrLig = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Rows(DrLig & ":" & Rows.Count).Delete
End With
Range("N5:0200").Select
End sub

-------------------

Comment corriger l'erreur svp??

Merci d'avance
A voir également:

3 réponses

pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Salut,
Plusieurs solutions :
1- ne pas mettre cette ligne qui est de toutes manières inutile :
Range("N5:0200").Select

2- remplacer le zéro par un o (en gras) :
Range("N5:O200").Select

Cordialement,
Franck P
1
fapfapfap
 
oups merci =)

ps: non ce n'est pas inutile...pour la suite.
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
De rien.

Ps : si c'est inutile, forcément.
Même sans voir la suite...
0
fapfapfap
 
Et si j'avais, par exemple, besoin d'appliquer un format spécial à cette plage?
0
pijaku Messages postés 12263 Date d'inscription   Statut Modérateur Dernière intervention   2 761
 
Alors, par exemple pour le format.
Si tu n'as qu'une ligne de code pour "formater" tes cellules, en exemple : fond de cellule rouge :
Range("N5:O200").Interior.ColorIndex = 3

Si tu as plusieurs paramètres à changer, exemple : gras, fond bleu, couleur police rouge :
With Range("A1:F5")
    .Font.Bold = True
    .Interior.ColorIndex = 32
    .Font.ColorIndex = 3
End With

Aucun Select et cela tourne sans souci.
0
fapfapfap
 
Ah merci je ne savais pas, intéressant!

Mais bref, en fait la plage en question contient des chiffres mais qui sont considérés comme du texte, cf un de mes anciens postes toujours non résolu:

http://www.commentcamarche.net/forum/affich-24466739-vba-convertir-texte-en-nombre

je garde donc le .select à la fin de ma macro pour n'avoir qu'à cliquer sur le triangle vert d'erreur puis "convertir en nombre" pour l'ensemble de la plage.
Idéalement j'aimerais que ma macro corrige l'erreur automatiquement...mais aucune méthode viable pour l'instant..

Si vous avez une idée, votre aide sera grandement appréciée!!

merci
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonjour,

je garde donc le .select à la fin de ma macro pour n'avoir qu'à cliquer sur le triangle vert d'erreur puis "convertir en nombre" pour l'ensemble de la plage.
Idéalement j'aimerais que ma macro corrige l'erreur automatiquement...mais aucune méthode viable pour l'instant..

[E1].Copy ' E1 est une cellule vide
Range("A1:A10").PasteSpecial Operation:=xlAdd


ericS'il n'y a pas d'espaces intempestifs ni de code 160
0