VBA synthese colonnes sur recap selon critere

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 !

bertrand1202

XLDnaute Occasionnel
Bonsoir

J' avais fait un test il y a deux jours .Skoobi ,Lii et Juju m'ont apporté leur éclairage.

J'ai tenté de l'appliquer à un pb plus complexe en utilisant leur code et du code glané sur le forum. Apparemment , il y a un bug, je fais appel à vous , je n'arrive pas à voir où ça bloque.(Nouveau fichier joint)

Il s'agit de cumuler dans chaque colonne les valeurs des colonnes des autres feuilles ( ex: somme des colonnes G) si l'article de la colonne A dans la feuille RECAP est identique a celui de la colonne A dans chacune des feuilles.

Il y aura 42 feuilles de 26 colonnes chacune. J ai ffait pour une colonne, y a t il un moyen de faire pour les 26 colonnes d' un coup.

Merci de votre aide .
 

Pièces jointes

Re : VBA synthese colonnes sur recap selon critere

Bonsoir bertrand1202,

Voici ton code modifié.

Code:
Sub syntheseinventmag()
'
' syntheseinventmag Macro
' Macro enregistrée le 20/12/2008 par Customer
'

'definition des parametres (feuilles, cellule sur laquelle operer la comparaison, cellule a additionner en fonction du critere
Dim Ws As Worksheet
Dim vCellule As Range
Dim vLigne As Integer
Dim vSom As Integer
Dim Trouve As Range
Dim c As Byte

On Error Resume Next

' On efface les colonnes "F:AF" de la feuille "RECAP" pour ne pas fausser les totaux
Sheets("RECAP").Range("F4:AF65536").ClearContents
'on parcourt chaque cellule de la colonne A ,en s'arretant a la derniere ligne non vide
'et on la compare a chaque cellule de la colonne A de chacune des feuilles.
For Each Ws In ActiveWorkbook.Worksheets 'boucle sur les feuilles
  If Ws.Name <> "RECAP" Then  'on compare la vCellule avec celle de la colonne A de la page RECAP
    For Each vCellule In Ws.Range("a4:a" & Ws.Range("A65536").End(xlUp).Row)
      Set Trouve = Sheets("RECAP").Range("A4:A3000").Find(vCellule.Value, LookIn:=xlValues)
      If Not Trouve Is Nothing Then
        vLigne = Trouve.Row
        For c = 6 To 32
          Sheets("RECAP").Cells(vLigne, c) = Sheets("RECAP").Cells(vLigne, c) + Ws.Cells(vCellule.Row, c)
        Next c
      End If
    Next vCellule
  End If
Next Ws
End Sub

Espérant t'avoir aidé.

Cordialement.

PS : un petit conseil si tu me le permets : n'oublies pas d'indenter ton code pour une meilleure lecture en cas d'erreurs, notamment au sein des boucles.
 
Dernière édition:
Re : VBA synthese colonnes sur recap selon critere

Bonjour

Merci beaucoup PAPOU-NET , merci à tous , petit à petit j'avance dans le VBA en me servant des exemples du Forum et en cherchant. Merci de votre aide pour débloquer les cas désespérés.
C'est très sympa et ça aide à avvancer

Bonne après midi , je vais tester le code et creuser.c'est frormateur, m^eme en s'arrachant les cheveux.
 
Re : VBA synthese colonnes sur recap selon critere

Merci de ta contribution , après test sur un ancien fichier, ça marche, cela m'a même permis de découvrir que la base récap n'était pas à jour .

Je vais m'essayer à batir une macro faisant ressortir quelles references et dans quelles pages elles sont et remettre ainsi la base recap a jour.

Je n'ai pas tout compris dans le code ,je recherche pour m'améliorer.

Merci encore.cest interessant .
 
Re : VBA synthese colonnes sur recap selon critere

Bonsoir

Pour pouvoir completer la colonne A de la feuille "RECAP", j 'ai essayé ceci:

For each vCellule in ws.Range("a4:a")&ws.range("a65536").end(xlup).row
if vCellule.value<>RECAP.vCellule.value then
Xl.insert.RECAP.vCellule.value

La cellule manquante en colonne "A" ne vient ni insere une ligne , ni inserer la valeur manquante en colonne "A" apres le numero precedent.

Si quelqu'un pouvait m'expliquer ce qui ne va pas et a quel endroit de la macro je dois inserer le code .

Merci Bonne soirée
 
- 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

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
907
Retour