Prendre des données de plusieurs onglets d'un même fichier

tomalstom64

XLDnaute Nouveau
Bonjour à tous,

Je souhaite sélectionner des valeurs de plusieurs feuilles d'un fichier excel mais je ne parviens pas à sélectionner les feuilles dans une boucle:
j'ai tapé le programme suivant:

ReDim MonArray(Worksheets.Count - 1)
For I = 2 To Worksheets.Count - 2 'Parcours des feuilles
MonArray(I - 2) = Sheets(I).Name
Next I
Sheets(MonArray).Select 'sélection de l'ensemble

Je ne veux pas sélectionner la première et les deux dernières feuilles de mon fichier

Merci à tous de votre aide
 

kjin

XLDnaute Barbatruc
Re : Prendre des données de plusieurs onglets d'un même fichier

Bonjour,
Tu peux toujours sélectionner plusieurs feuilles....
Code:
Dim monarray(2)
For i = 0 To 2
    monarray(i) = Sheets(i + 2).Name
Next
    Sheets(monarray).Select
...mais pourquoi faire ?!
A+
kjin
 

Dranreb

XLDnaute Barbatruc
Re : Prendre des données de plusieurs onglets d'un même fichier

Bonjour.
Effectivement le titre de la discussion dit "Prendre des données…
Il est douteux qu'il soit nécessaire pour cela de sélectionner les feuilles.
L'erreur était essentiellement dans le Redim qui définissait 3 feuille en trop non initialisées.
Le plus simple c'est encore comme ça:
VB:
Dim MonArray() As String, I As Long
ReDim MonArray(2 To Worksheets.Count - 2)
For I = 2 To Worksheets.Count - 2 'Parcours des feuilles
   MonArray(I) = Worksheets(I).Name
   Next I
Sheets(MonArray).Select 'sélection de l'ensemble
À +
 

tomalstom64

XLDnaute Nouveau
Re : Prendre des données de plusieurs onglets d'un même fichier

bonjour à tous,
sur une ligne de mon fichier Excel certaines valeurs sont identiques... Je voudrais donc supprimer tous les doublons de cette ligne et ne garder qu'une seule valeur... Je code en vba excel 2007. Merci d'avance!!!
 

tomalstom64

XLDnaute Nouveau
Re : Prendre des données de plusieurs onglets d'un même fichier

Bonjour à tous j'ai un autre souci vba :)

la ligne en gras m'indique: erreur 13: incompatibilité de type et je ne comprends pas pourquoi... j'ai tout bien déclaré pourtant...

BaseLog.Activate
BaseLog.Sheets("BaseLog").Select
compteur = 0

For j = vg_nomOutilspec1 To vg_nomOutilspec20
Cell = Cells(2, j).Value
'nbcol = Range(Cells(4, vg_nomOutilspec1), Cells(vgLigneMaxiBaseLog, vg_nomOutilspec20)).SpecialCells(xlCellTypeLastCell).Column

If Range(Cells(4, j), Cells(vgLigneMaxiBaseLog, j)) <> "" And Left(Cell, 4) = "Tool" Then

compteur = compteur + 1
End If

Next j

Merci d'avance
 

Dranreb

XLDnaute Barbatruc
Re : Prendre des données de plusieurs onglets d'un même fichier

Boujour
Vous ne pouvez pas comparer la valeur d'une plage de plusieurs cellules à une expression constante parce que c'est un tableau.
Il faut procéder autrement. Parmi plusieurs possibilités il y SpecialCells, que vous utilisez déjà, qui pourrait vous renvoyer des cellules non vides s'il en existe, ou provoquer une erreur.
 

tomalstom64

XLDnaute Nouveau
Re : Prendre des données de plusieurs onglets d'un même fichier

Bonjour tout le monde,

je vous présente mon souci:

j'ai un fichier excel contenant 30 feuilles
je souhaite traverser la colonne 5 de chaque feuille et compter le nombre de cellules non vides

Quelqu'un aurait-il une solution svp?

Merci d'avance :)
 

Discussions similaires

Réponses
26
Affichages
533

Statistiques des forums

Discussions
312 668
Messages
2 090 739
Membres
104 643
dernier inscrit
adriano22