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é

Acturis

XLDnaute Nouveau
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
 

Staple1600

XLDnaute Barbatruc
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 ?
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…