VBA Conso d'onglets avec condition

FAUB

XLDnaute Nouveau
Bonjour à tous,

Je cherche à consolider des onglets dans une feuille de synthèse à l'aide d'une macro, avec une condition précise.
Je vous joins un fichier dans lequel j'explique que doit faire la macro.

J'ai bien essayé de la faire avec les infos données sur le site de Mr Boisgontier, mais je n'y arrive pas...

Merci d'avance pour votre aide.

FAUB
 

Pièces jointes

  • Classeur3.zip
    37.4 KB · Affichages: 63
  • Classeur3.zip
    37.4 KB · Affichages: 35
  • Classeur3.zip
    37.4 KB · Affichages: 41

FAUB

XLDnaute Nouveau
Re : VBA Conso d'onglets avec condition

Salut Minipuce,

Merci pour ta réponse. J'ai déjà vu les différents codes à intégrer, mais sans réussir à les adapter les uns à la suite des suites des autres dans mon fichier... je suis débutant en VBA.

Est-ce que tu pourrais m'aider la dessus ?
 

minipuce

XLDnaute Occasionnel
Re : VBA Conso d'onglets avec condition

Bonsoir Faub,

je suis moi-meme débutante en VBA, mais ça ne me semble pas insurmontable, j'aurai par contre besoin de précisions...

Est-ce que la feuille nommée "autres charges" peut être déplacée ?
Dans ta feuille synthèse tu recopies en fait pour chaque ligne, les colonnes "C" à "I", ou "C" à "K" ?

Voila, si tu peux répondre à ces questions j'essayerai de te faire un bout de code, avec mes maigres connaissances.
J'aurai peut être besoin d'autres précisions par la suite

Bonne soirée
Minipuce
 

FAUB

XLDnaute Nouveau
Re : VBA Conso d'onglets avec condition

Je recopie les colonnes C à K.
Le fichier original a beaucoup plus d'onglets... est-ce important de savoir si l'onglet "Autres charges" peut être déplacé ? Lui ne doit pas rentrer en compte dans le calcul de la macro étant donné qu'il ne commence pas par "N°"...

Le code que j'aimerais adapter (pris le site de Boisgontier):

Sub recap()
ligne = 2
For s = 2 To Sheets.Count
For lig = 2 To Sheets(s).[A65000].End(xlUp).Row
If Sheets(s).Cells(lig, 5) = "OUI" Then
Sheets(s).Rows(lig).Copy Sheets("commande").Cells(ligne, 1)
Cells(ligne, 6) = Sheets(s).Name
ligne = ligne + 1
End If
Next lig
Next
End Sub


Merci pour ton aide. Je continue à bucher dessus.

A+
 

minipuce

XLDnaute Occasionnel
Re : VBA Conso d'onglets avec condition

Re,

c'est aussi de ce code que j'avais l'intention de partir (c'est celui que j'ai gardé au final).
Et donc pour utiliser cette ligne

For s = 2 To Sheets.Count

Il faut que toutes les feuilles après la feuille 2 soient les feuilles que tu veux prendre en compte. Pour le moment je ne sais pas tester le nom de la feuille.
Peut être avec un :

if Sheets(s).name = "N°"&*

A tester

Affaire à suivre

Minipuce
 

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : VBA Conso d'onglets avec condition

Bonjour,

Code:
Sub Recap2()
  ligne = 7
  For Each f In ActiveWorkbook.Sheets
    s = f.Name
    If s Like "N°*" Then
      For lig = 26 To Sheets(s).[B65000].End(xlUp).Row
        If Sheets(s).Cells(lig, 2) <> "" Then
          Sheets(s).Cells(lig, 2).Resize(, 10).Copy
          Sheets("synthese").Cells(ligne, 2).PasteSpecial Paste:=xlValues
          Sheets("synthese").Cells(ligne, 1) = s
          ligne = ligne + 1
        End If
      Next lig
    End If
  Next
End Sub

ou

Code:
Sub Recap()
  ligne = 7
  For Each s In Array("N°1", "N°2")
    For lig = 26 To Sheets(s).[B65000].End(xlUp).Row
     If Sheets(s).Cells(lig, 2) <> "" Then
       Sheets(s).Cells(lig, 2).Resize(, 10).Copy
       Sheets("synthese").Cells(ligne, 2).PasteSpecial Paste:=xlValues
       Sheets("synthese").Cells(ligne, 1) = s
       ligne = ligne + 1
     End If
    Next lig
  Next
End Sub

JB
 

Pièces jointes

  • ConsoCondition.zip
    44.2 KB · Affichages: 33
Dernière édition:

minipuce

XLDnaute Occasionnel
Re : VBA Conso d'onglets avec condition

Bonsoir à tous,

Premier point positif, je sais désormais comment tester le nom d'une feuille :)
Boisgontier, peux-tu expliquer à quoi sert le ".resize(,10)"

En tout cas merci bien pour ton aide

Minipuce
 

FAUB

XLDnaute Nouveau
Re : VBA Conso d'onglets avec condition

Bonjour Boisgontier,

Merci milles fois pour ton code, il marche nickel.
J'ai en effet changé .resize(10), car il y avait pas mal de colonnes en plus dans le fichier original.

Pierre Jean, tu as du te tromper de fichier en me le renvoyant... En tout cas, merci beaucoup à tous pour votre aide.

Bonne soirée,

FAUB

PS: Boisgontier, votre site est très instructif !
 

pierrejean

XLDnaute Barbatruc
Re : VBA Conso d'onglets avec condition

Re

c'est l'inconvenient de ces fichiers quasi anonymes

voici le bon (enfin peut-etre pas aussi bon que celui de BOISGONTIER)

Edit: Noter tout de même que dans le cas ou l'on repete la macro de notre ami apres avoir supprimé des lignes dans les feuilles N° ,il y aura un reste de la macro precedente
 

Pièces jointes

  • FAUB_Classeur3.zip
    44.6 KB · Affichages: 35
Dernière édition:

FAUB

XLDnaute Nouveau
Re : VBA Conso d'onglets avec condition

Bonjour Pierre Jean,
Merci pour votre code qui fonctionne aussi très bien.

J'ai essayé de supprimer des lignes dans les onglets N° dans le cadre de l'utilisation de la macro de Boisgontier, à priori pas de problèmes dans la synthèse... j'espère que ça continuera.

Merci encore à tous, je sens que vous me verrez de plus en plus sur ce forum...

Bonne journée !

FAUB
 

Discussions similaires

Réponses
4
Affichages
297

Statistiques des forums

Discussions
312 497
Messages
2 088 992
Membres
104 000
dernier inscrit
dinelcia