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

Recherche valeurs sur plusieurs feuilles

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

CMoa

XLDnaute Occasionnel
Bonjour le Forum 🙂

Après avoir longuement feuilleté les archives du Forum et n'ayant pas trouvé chaussure à mon pied ;je fais appel à vous.
Je cherche à renvoyer toutes les valeurs des cellules A8:N38,A123:N153présentes sur une trentaine de feuilles(+ ou - 2 feuilles) sur une feuille récap par exemple.
Ces cellules contiennent soit du texte soit des chiffres ou les 2.
Voir fichier joint
Merci pour le temps consacré à la résolution de ce problème.
@+
 

Pièces jointes

Re : Recherche valeurs sur plusieurs feuilles

Bonjour,

En modifiant le nom des onglets de 01janv à 09janv en 1janv à 9janv
Feuille recap :
A1 : =INDIRECT(LIGNE()&"janv!A"&8)
B1 : =INDIRECT(LIGNE()&"janv!N"&38)
C1 : =INDIRECT(LIGNE()&"janv!A"&123)
D1 : =INDIRECT(LIGNE()&"janv!N"&153)
formules à copier vers le bas

abcd
 
Re : Recherche valeurs sur plusieurs feuilles

Bonjour abcd
Merci pour ta réponse.
Mais ce n'est pas ce que je cherche à obtenir.
Je cherche à afficher les données présentes sur une plage de cellules de plusieurs feuilles sur une seule à la suite.
Exemple sur classeur joint
 

Pièces jointes

Re : Recherche valeurs sur plusieurs feuilles

Bonjour fanfan38
Merci pour ta macro mais je souhaite éviter d'utiliser des macros si possible.
N'ya -t-il pas de formule qui permet d'obtenir ce résultat?
@+
 
Re : Recherche valeurs sur plusieurs feuilles

Bonjour,

Les fonctions de recherche Excel sont conçues pour chercher sur une feuille à la fois.

Si le nombre de feuilles est limité et connu, on peut y arriver par formules associées à des tests.

Sinon, le thème a régulièrement été traité sur le Forum. Voir ce lien qui te donne le résultat d'une recherche :

https://www.excel-downloads.com/search/

Je te laisse fouiller dans les méandres du Forum

@+
 
Re : Recherche valeurs sur plusieurs feuilles

Bonjour Tibo
J'ai déjà fouillé dans les méandres du Forum et je n'ai rien trouvé que je puisse adapter à mon cas.
Le nombre de feuilles est connu puisqu'il correspond au nombre de jours mensuel.
La plage de cellules est toujours la même:A8:N38,A123:N153.

Merci pour ton aide.

@+
 
Re : Recherche valeurs sur plusieurs feuilles

Bonjour à tous

Il semblerait que les formulistes n'ont pas de solutions à mon problème.
Peut-on alors envisager le VBA pour copier les cellules non vides à la suite les unes des autres?

Merci pour votre aide
 
Re : Recherche valeurs sur plusieurs feuilles

Bonjour kiki29;happymarmotte et le Forum 🙂
Je vois que certains s'endorment tard et avancent le travail des autres.
Un grand merci pour le travail réalisé.
Happymarmotte ta macro copie toutes les données présentes sur les feuilles.
Ce n'est pas ce que cherche à faire.Par contre lors de la copie sur feuille récap;elle copie les données en sautant la première ligne et ça m'intéresse.
Kiki29 est -il possible de modifier ta macro pour que les données se copient à partir de B2 sur la feuille récap sans effacer mes données déjà présentes.

j'ai cru comprendre qu'elle affiche aussi "StatusBar" qui n'est pas utile pour la macro.
Code:
Option Explicit

Public Declare Function QueryPerformanceCounter Lib "Kernel32" (x As Currency) As Boolean
Public Declare Function QueryPerformanceFrequency Lib "Kernel32" (x As Currency) As Boolean

Sub Tst()
Dim iDep As Long
Dim ws As Worksheet
Dim iLastRow As Long
Dim Dep As Currency, Fin As Currency, Freq As Currency

    QueryPerformanceCounter Dep
    Application.StatusBar = ""
    Application.ScreenUpdating = False
    ShRecap.Cells.Clear
    iDep = 1
    For Each ws In ThisWorkbook.Worksheets
        If ws.Name <> ShRecap.Name Then
            ws.Activate
            ws.Range("A8:N38").Copy ShRecap.Range("B" & iDep)
            ws.Range("A123:N153").Copy ShRecap.Range("B" & iDep + 31)
            iDep = iDep + 62
        End If
    Next ws
    
    Suppression_LignesVides ShRecap, 1, 14
    With ShRecap
        .Activate
        .Range("P1").Select
    End With
    Application.ScreenUpdating = True

    QueryPerformanceCounter Fin: QueryPerformanceFrequency Freq
    Application.StatusBar = "Terminé : " & Format(((Fin - Dep) / Freq), "0.00 s")
End Sub

Private Sub Suppression_LignesVides(ws As Worksheet, ColDep As Long, ColFin As Long)
Dim i As Long
Dim iMax As Long
Dim sStr As String
    ws.Activate
    iMax = ws.UsedRange.Rows.Count
    For i = iMax To 1 Step -1
        If Application.WorksheetFunction.CountBlank(ws.Range(Cells(i, ColDep), ws.Cells(i, ColFin))) = 14 Then
            ws.Cells(i, 1).EntireRow.Delete
        End If
    Next i
End Sub

Merci de votre aide précieuse et bon dimanche
@+
 
Re : Recherche valeurs sur plusieurs feuilles

Re, Pas la peine de recopier le code si tu n'as rien modifié ( bavardage inutile )
Modifier le code
Dans Tst
Code:
	    ShRecap.Range("B2:O65536").Clear
	    iDep = 2
	    .....
                 Ws.Range("A8:N38").Copy ShRecap.Range("B" & iDep)
                 Ws.Range("A123:N153").Copy ShRecap.Range("B" & iDep + 31)
	    .....
                 SuppressionLignesVides ShRecap, 2, 15
            .....
Dans SuppressionLignesVides
Code:
	.....
	For i = iMax To 2 Step -1
	.....
 
Dernière édition:
- 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

L
Réponses
12
Affichages
1 K
LeSaintKebab
L
J
Réponses
2
Affichages
1 K
Jerome68270
J
Réponses
5
Affichages
2 K
R
Réponses
4
Affichages
2 K
Romane.
R
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…