Synthèse de valeur de cellules de plusieurs onglets à l'aide de la position d'un mot

panoramix

XLDnaute Nouveau
Bonjour, bonsoir,

Je sollicite l'aide de la communauté pour un petit problème VBA.

Je souhaiterais faire la synthèse des valeurs de cellules de plusieurs onglets en fonction de la position d'un mot clé "HISTORIC".

Mon code :

Sub Bouton1_Cliquer()

Dim x As Range
Dim Ws As Worksheet

Application.ScreenUpdating = False

With Sheets("Feuil1")

For Each Ws In Worksheets

Set x = Ws.Range("A1:A1000").Find("HISTORIC", , xlValues, xlWhole, , , False)
Sheets("Feuil1").Cells(1 + n, 1) = Ws.Cells(x.Row + 1, x.Column + 1).Value
Sheets("Feuil1").Cells(1 + n, 2) = Ws.Cells(x.Row + 1, x.Column + 3).Value
n = n + 1

Next Ws

End With

Application.ScreenUpdating = True

Set x = Nothing

End Sub

J'obtiens une erreur 91 : Variable objet ou variable de bloc With non définie.

Quelqu'un peut t-il m'aider à me dépatouiller ?

Merci d'avance.
 

Pièces jointes

  • Test.xlsm
    19.7 KB · Affichages: 33
  • Test.xlsm
    19.7 KB · Affichages: 36
  • Test.xlsm
    19.7 KB · Affichages: 38

Dranreb

XLDnaute Barbatruc
Re : Synthèse de valeur de cellules de plusieurs onglets à l'aide de la position d'un

Bonjour.
Vous oubliez essentiellement d'exclure la Feuil1 des Worksheets explorés.
VB:
Sub Bouton1_Cliquer()
Dim X As Range, N As Long
Dim Ws As Worksheet
Application.ScreenUpdating = False
For Each Ws In Worksheets
   If Ws.Name <> "Feuil1" Then
      Set X = Ws.Range("A1:A1000").Find("HISTORIC", , xlValues, xlWhole, , , False)
      If X Is Nothing Then
         MsgBox """HISTORIC"" n'existe pas dans la feuille """ & Ws.Name & """."
      Else
         Feuil1.Cells(1 + N, 1) = Ws.Cells(X.Row + 1, X.Column + 1).Value
         Feuil1.Cells(1 + N, 2) = Ws.Cells(X.Row + 1, X.Column + 3).Value
         N = N + 1: End If: End If: Next Ws
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 114
Messages
2 085 432
Membres
102 889
dernier inscrit
monsef JABBOUR