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

importer plage de données de plusieurs classeur

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

J

jean paul

Guest
bonjour à tous
j'utilisais ce code inspirer d'un code de Michel xld pour importer une plage
(c7:g88) d'un classeur dans un classeur recapitulatif,mais maintenant j'ai un nombre variable de classeurs dont les noms sont en colonne I
je souhaite que la plage du premier classeur se colle en a1:e83,la 2eme en a84:e165,la 3eme en a166;e248 ainsi de suite pour tous les classeurs
merci de votre aide
JP

Sub ImporterDepuisPlusieursClasseurs()
Dim Cell As Range
Dim Y As Byte

For Each Cell In Range("i1:i4")'nom de mes classeurs


With ActiveSheet.Range("a1:e83")
.FormulaArray = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "compte" & "'!" & Range("c7:g88").Address(0, 0)'Range("c7:g88").plage à importer
.Value = .Value
End With

Next Cell

End Sub
 
Re : importer plage de données de plusieurs classeur

bonjour jean paul

A tester:

Code:
Sub ImporterDepuisPlusieursClasseurs()
Dim Cell As Range
Dim Y As Byte
Dim n As Integer
For Each Cell In Range("i1:i4")  'nom de mes classeurs
n = n + 1
  With ActiveSheet.Range("a" & 1 + (n - 1) * 83 & ":e" & n * 83)
   .FormulaArray = "='" & ThisWorkbook.Path & "\[" & Cell & "]" & "compte" & "'!" & Range("c7:g88").Address(0, 0) 'Range("c7:g88").plage à importer
   .Value = .Value
  End With
Next Cell
End Sub
 
Re : importer plage de données de plusieurs classeur

bonjour Pierre Jean
Testé sans probleme , un grand merci pour ta contribution

encore une petite question
ici dans ce code j'ai 4 classeurs
le nombre de classeurs risque d'augmenter,est il possible de prendre en compte cette augmentation sans venir modifier cet partie de code > Range("i1:i4")

j'ai essayé
For Each Cell In Range("i20").End(xlUp)) sans succes

cordialement jean paul
 
- 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

  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
616
P
Réponses
6
Affichages
2 K
Pimprenelle9
P
A
  • Résolu(e)
Réponses
4
Affichages
893
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…