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

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

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

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

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
 
Re : Synthèse de valeur de cellules de plusieurs onglets à l'aide de la position d'un

Bonsoir Dranreb,

Vous avez tout à fait raison, cela fonctionne parfaitement merci pour votre réponse et votre réactivité !
 
- 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

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