valeur à chercher

spoky

XLDnaute Nouveau
Bonjour à tous.
Je cherche un code vba pour rechercher les valeurs entre 1 et 31 qui se trouve sur plusieurs feuilles d'un même classeur.
Pour l'instant, je n'ai que ce code qui me trouve une valeur :

Private Sub Workbook_Open()
Dim n, F As Worksheet, w As Worksheet
n = Sheets("Synthèse").[A1]
n = 30 'valeur recherchée, à adapter-
Set F = Sheets("Synthèse")
Application.ScreenUpdating = False
F.range("A2:I" & F.Rows.Count).Delete xlUp 'RAZ
FoAutoFilterMode = False 'au cas où...
F.r Each w In Worksheets
If w.Name <> F.Name Then
With Intersect(w.[A:I], w.UsedRange.EntireRow)
.Columns(9) = "=""" & w.Name & "!A""&" & "ROW()"
.Columns(9) = .Columns(9).Value 'supprime les formules
.AutoFilter 1, n 'filtre automatique
.Offset(1).Copy F.range("A" & F.Rows.Count).End(xlUp)(2)
w.AutoFilterMode = False
.Columns(9) = ""
End With
End If
Next
F.Columns(9).HorizontalAlignment = xlGeneral
F.Columns(9).AutoFit
F.Activate 'facultatif
Application.ScreenUpdating = True
n = F.range("A" & F.Rows.Count).End(xlUp).Row - 1

J'en profite pour remercier la personne qui m'a trouvé ce code qui fonctionne super bien.
Bonne journée à tous.
 

Staple1600

XLDnaute Barbatruc
Re : valeur à chercher

Bonjour à tous

spoky
Pourquoi ne pas être resté dans ton fil initial?
https://www.excel-downloads.com/threads/recherche-valeur-dans-feuilles-d1-classeur.227138/

NB
: L'usage est de faire "un up" dans son propre fil pour qu'il s'affiche de nouveau en tête de liste.
(faire un up: se répondre à soi-même dans son fil de discussion)

J'en profite pour remercier la personne qui m'a trouvé ce code qui fonctionne super bien.
Pourquoi ne pas simplement la nommer ?;)
job75
 

job75

XLDnaute Barbatruc
Re : valeur à chercher

Bonjour spoky, JM,

Vous faites vraiment n'importe quoi Spoky.

Vous n'êtes pas fichu de recopier le code correctement.

Ni de joindre le fichier permettant de travailler + quelques explications sur son fonctionnement.

A+
 

job75

XLDnaute Barbatruc
Re : valeur à chercher

Re,

Bon j'ai été sur le fichier de l'autre fil pour avoir la bonne macro et la modifier.

Je cherche un code vba pour rechercher les valeurs entre 1 et 31

Il suffit d'utiliser l'opérateur xlAnd dans le filtre automatique :

Code:
Private Sub Workbook_Open()
Dim n1, n2, F As Worksheet, w As Worksheet
n1 = 1 '1ère valeur recherchée, à adapter
n2 = 31 'dernière valeur recherchée, à adapter
Set F = Sheets("Synthèse")
Application.ScreenUpdating = False
F.AutoFilterMode = False 'au cas où...
F.range("A2:I" & F.Rows.Count).Delete xlUp 'RAZ
For Each w In Worksheets
  If w.Name <> F.Name Then
    With Intersect(w.[A:I], w.UsedRange.EntireRow)
      .Columns(9) = "=""" & w.Name & "!A""&" & "ROW()"
      .Columns(9) = .Columns(9).Value 'supprime les formules
      .AutoFilter 1, ">=" & n1, xlAnd, "<=" & n2 'filtre automatique
      .Offset(1).Copy F.range("A" & F.Rows.Count).End(xlUp)(2)
      w.AutoFilterMode = False
      .Columns(9) = ""
    End With
  End If
Next
F.Columns(9).HorizontalAlignment = xlGeneral
F.Columns(9).AutoFit
F.Activate 'facultatif
Application.ScreenUpdating = True
n1 = F.range("A" & F.Rows.Count).End(xlUp).Row - 1
MsgBox "Vous avez " & n1 & " contrôles obligatoires à effectuer ce mois-ci !"
End Sub
A+
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : valeur à chercher

Bonjour,

J'ai dû mal traiter spoky, il s'est vexé :rolleyes:

J'en profite pour signaler qu'on peut remplacer :

Code:
.Columns(9) = "=""" & w.Name & "!A""&" & "ROW()"
par cette instruction plus simple :

Code:
.Columns(9) = "=""" & w.Name & "!A""&ROW()"
A+
 

spoky

XLDnaute Nouveau
Re : valeur à chercher

Salut JOB75.

Ne t'inquiète pas, je ne suis pas vexé, je reconnais volontiers que j'ai beaucoup de lacune dans ce domaine et j'admire vraiment les personnes comme toi qui sont disponible sur ce forum pour aider des personnes comme moi. J'aurais aimé trouvé dans mon village des personnes pour me former au VBA, mais...
Donc j'en profite pour te remercier ainsi que toute l'équipe qui fait tourner ce forum.
Le dernier code que tu m'a donné fonctionne à merveille. Je pense avoir suffisamment de tuyaux pour faire tourner mon application. Bonne fin de journée.
Spoky
 

Staple1600

XLDnaute Barbatruc
Re : valeur à chercher

Bonjour à tous, spoky, job75

spoky
Suis-je transparent ?
Et ma question qui cause fil initial alors, l'est où la réponse ;)
Bonjour à tous
spoky
Pourquoi ne pas être resté dans ton fil initial?
https://www.excel-downloads.com/threads/recherche-valeur-dans-feuilles-d1-classeur.227138/
NB: L'usage est de faire "un up" dans son propre fil pour qu'il s'affiche de nouveau en tête de liste.
(faire un up: se répondre à soi-même dans son fil de discussion)
Pourquoi ne pas simplement la nommer ?;)
job75
 

Victor21

XLDnaute Barbatruc
Re : Staple1600

Bonsoir à tous, bonsoir spoky
Je pensais que tu faisait parti de l'équipe du forum...

Nous faisons tous partie de l'équipe du forum :
-1° Les demandeurs pour demander, (qui ont le droit d'appartenir également à la 2° catégorie)
-2° Les répondeurs -bénévoles- pour répondre, quelque soit leur niveau (qui ont le droit d'appartenir également à la 1° catégorie)
;)
 

Discussions similaires

Statistiques des forums

Discussions
312 503
Messages
2 089 062
Membres
104 014
dernier inscrit
Aurélie MONTEIL