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

La méthode select de la classe range a échoué

  • Initiateur de la discussion Initiateur de la discussion Acturis
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Acturis

Guest
Bonjour a tous,

Je me permet de solliciter votre aide sur une macro qui me pose problème.

Voici le code

VB:
Sub Importe()
Application.ScreenUpdating = False
Dim Fichier As Variant

'Recherche du fichier
Fichier = Application.GetOpenFilename("Tous les fichiers (*.*),*.*")
  
If Fichier <> False Then 'Si on n'a pas cliqué sur "Annuler"
    Workbooks.Open Filename:=Fichier 'Ouverture du fichier
    NomFichier = Dir(Fichier) 'Nom du fichier sans le chemin

        With Workbooks(NomFichier) 'Avec le fichier que l'on vient d'ouvrir
            Set f = Sheets("DATA") 'Détermination de la feuille à traiter
          
                'Sélection de la plage à copier
                f.Rows("2:1000").Select
                f.Range(Selection, Selection.End(xlToRight)).Select
                f.Range(Selection, Selection.End(xlDown)).Select
              
                'Copie de la sélection dans le fichier actuel
                Selection.Copy ThisWorkbook.Sheets("DATA").Range("A2")
              
                .Close 'Fermeture du fichier ayant servi à la copie
        End With
End If
End Sub

Cette macro me sert a faire des copier coller d'un fichier source vers le fichier ouvert avant de lancer la macro. Sauf que celle-ci se bloque au niveau de f.Rows("2:1000").Select avec le message d'erreur "La méthode select de la classe range a échoué".

Quelqu'un voit-il une solution à mon pb ? J'ai essayé aussi avec f.Range("A2:AB1000).Select et j'ai la même erreur.

Merci d'avance
 
Bonsoir le fil, le forum

@Acturis
Fais ce petit test (qui devrait t'éclairer) sur une feuille vierge d'un nouveau classeur
VB:
Sub Petit_Test()
Range("A2:AB1000") = "=1600+ROW()*COLUMN()"
Rows("2:1000").Select
MsgBox Selection.Address
Range(Selection, Selection.End(xlToRight)).Select
MsgBox Selection.Address
Range(Selection, Selection.End(xlDown)).Select
MsgBox Selection.Address
MsgBox Range("A2").Resize(999, Cells(2, Columns.Count).End(xlToLeft).Column).Address
End Sub
Qu'observes-tu ?
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

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