[XL 2003] Comment parcourir une plage de cellules d'une autre feuille

  • Initiateur de la discussion Initiateur de la discussion did85
  • 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 !

did85

XLDnaute Junior
[Résolu] Comment parcourir une plage de cellules d'une autre feuille

Bonjour,
je cherche à lire au fur et à mesure des lignes du haut vers le bas dans une feuille donnée dans un classeur.
Je cherche à utiliser une ligne de code sous la forme :
<Nom du classeur à lire>.<Feuille du classeur à lire>.<parcourir un range de cellules>

J'ai le message d'erreur :
Erreur d'execution 1404 : "La méthode 'Range' de l'objet '_worksheet' a échoué

je ne trouve pas mon erreur dans le code suivant :

Code:
Option Explicit
Sub Importation(sNomFeuille As String)
    Dim lSource As Long, lDest As Long
    Dim WbSource As Workbook, wbCible As Workbook
    Dim shCible As Worksheet
    Dim rPlageCell As Range

Set WbSource = ThisWorkbook
Set wbCible = Application.Workbooks.Open(Application.GetOpenFilename)
Set shCible = Workbooks(wbCible.Name).Worksheets(sNomFeuille)

For lSource = 3 To shCible.Range("A56536").End(xlUp).Row
    'Set rPlageCell = shCible.Range("A" & lSource) 'Cette ligne fonctionne
    [COLOR="Red"]Set rPlageCell = shCible.Range(Cells(lSource, 1), Cells(lSource, 3))[/COLOR]
Next lSource
End Sub
En rouge la ligne qui provoque l'erreur, je dois mal me débrouiller avec l'utilisation :
Code:
range(cells(lig, col), cells(lig,col))
Le ligne du dessus en commentaire fonctionne, mais ne me permet pas de lire la plage de cellules dont j'ai besoin par la suite.

Je vous joins les 2 fichiers que j'ai épuré pour l'exemple.
Le fichier classeursource.xls est à ouvrir en 1er, puis un clic sur le bouton Importation dans un des onglets demande l'ouverture du second fichier : classeurcommande.xls

Merci de votre aide
Did85
 

Pièces jointes

Dernière édition:
Re : [XL 2003] Comment parcourir une plage de cellules d'une autre feuille

Bonjour,
Dans le module de la feuille
Code:
Option Explicit
Private Sub CmdImport_Click()
Dim vNomFeuille As String, Tablo As Variant
vNomFeuille = ActiveSheet.Name
Tablo = Importation(vNomFeuille)
Range(Cells(3, 1), Cells(UBound(Tablo, 1) + 2, UBound(Tablo, 2))) = Tablo

End Sub
Dans le module1
Code:
Option Explicit
Function Importation(sNomFeuille As String)
Dim wbCible As Workbook, shCible As Worksheet, TabTemp As Variant
Set wbCible = Application.Workbooks.Open(Application.GetOpenFilename)
Set shCible = Workbooks(wbCible.Name).Worksheets(sNomFeuille)
TabTemp = shCible.Range("A3:C" & Range("A65000").End(xlUp).Row)
Importation = TabTemp

End Function
A noter qu'il manque tous les contrôles d'erreurs
A+
kjin
 
- 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

Discussions similaires

Réponses
3
Affichages
485
Retour