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

Selection des données

jobar38

XLDnaute Nouveau
Bonjour,

je voudrais selectionner certaines colonnes et lignes de plusieurs fichiers pour les copiers dans un seule feuille excel mais j'ai un probleme de syntaxe

Sheets("COMBATTANTS").[A1].CurrentRegion.Offset(1, 0).Clear
For s = 2 To Sheets.Count
Range(Sheets(s)("C2:E1281")).Select
Selection.Copy_ [A65000].End(xlUp).Offset(1, 0)
Next s

Est-ce que quelqu'un peut venir à mon secour?
 

skoobi

XLDnaute Barbatruc
Re : Selection des données

Bonjour,

tu veux copier plusieurs fichiers ou plusieurs feuilles?
D'après ton code, c'est plusieurs feuilles...

Une chose que je remarque, le "_" en trop:
Code:
Selection.Copy[COLOR=red][B]_[/B][/COLOR] [A65000].End(xlUp).Offset(1, 0)
Le Select n'est pas nécessaire et tu as inversé Sheets et Range:
Code:
Sheets(s).Range("C2:E1281").Copy [A65000].End(xlUp).Offset(1, 0)
 

jobar38

XLDnaute Nouveau
Re : Selection des données

Super tu es un pro.

je veux en plus rajouter l'origine des informations dans une colonne suplémentaire avec

Value = Sheets(s).Name mais je ne sais pas ou la mettre
 
Dernière édition:

skoobi

XLDnaute Barbatruc
Re : Selection des données

Si j'ai bien compté (en pleine digestion ):

Code:
Range([[B][COLOR=red]A[/COLOR][/B]65000].End(xlUp).Offset(1, 0),[[COLOR=red][B]A[/B][/COLOR]65000].End(xlUp).Offset(1280, 0)).Value = Sheets(2).Name
Remplace "A" par la colonne dans laquelle tu veux le faire apparaître.
 

skoobi

XLDnaute Barbatruc
Re : Selection des données

Re,

Tu n'avais pas dis que le nombre de ligne pouvait varier... petit cachotier.
J'ai commenté le code, si tu as des questions, n'hésite pas:

Code:
Sub RECUPERATION()
  Dim DerLig As Long, Nbre As Long
  Sheets("COMBATTANTS").[A1].CurrentRegion.Offset(1, 0).Clear
  For s = 2 To Sheets.Count
    With Sheets(s)
    'on récupère la dernière ligne non vide de la colonne E
      DerLig = .[E65536].End(xlUp).Row
      'on calcul le nombre de ligne qui seront copiées
      Nbre = DerLig - 2 + 1
      .Range("C2:E" & DerLig).Copy [A65000].End(xlUp).Offset(1, 0)
      Range([D65000].End(xlUp).Offset(1, 0), [D65000].End(xlUp).Offset(Nbre, 0)).Value = Sheets(s).Name
    End With
  Next s
End Sub
 

Discussions similaires

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