Excel VBA erreur 1004
Résolu
fapfapfap
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Excel VBA erreur 1004
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Si ou excel - Guide
- Excel compter cellule couleur sans vba - Guide
3 réponses
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
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
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 :
Si tu as plusieurs paramètres à changer, exemple : gras, fond bleu, couleur police rouge :
Aucun Select et cela tourne sans souci.
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.
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
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
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..
ericS'il n'y a pas d'espaces intempestifs ni de code 160
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
ps: non ce n'est pas inutile...pour la suite.
Ps : si c'est inutile, forcément.
Même sans voir la suite...