concatainer 2 actions dans une macro

laloue54

XLDnaute Nouveau
bonjour à tous,
Je cherche comment "concatainer 2 actions dans une macro" sur la même feuille.
Explications :
Je voudrais que le résultat de l'action 2 (base2) viennent se mettre à la suite de l'action 1 (base) sur la même feuille colonne A et non pas comme je l'ai programmé (colonne G)

Je joins le fichier.
Merci de votre aide
 

Pièces jointes

  • répartition dépenses essai 2.xls
    47 KB · Affichages: 44
  • répartition dépenses essai 2.xls
    47 KB · Affichages: 60
  • répartition dépenses essai 2.xls
    47 KB · Affichages: 44
Dernière édition:
G

Guest

Guest
Re : concatainer 2 actions dans une macro

Bonjour LaLoue,

voici:

Code:
Sub Macro1()
Dim ligne As Long 'Variable qui contiendra le prochain numéro de ligne vierge en colonne A
  For Each sh In Array("SAM", "SAHT", "PE")
    With Sheets(sh)
      ' Effacer le contenu de la feuille
      .Cells.ClearContents
      ' Utiliser la fonction de filtre avancé pour extraire les données
      Range("base").AdvancedFilter Action:=xlFilterCopy, _
      CriteriaRange:=Range(sh), CopyToRange:=.Range("A3"), Unique:=False
     'Numéro de prochaine ligne vierge de la colonne A
      [COLOR=red]ligne = .Range("A" & .Rows.Count).End(xlUp).Row + 1
[/COLOR]      Range("base2").AdvancedFilter Action:=xlFilterCopy, _
      CriteriaRange:=Range(sh), CopyToRange:=.Range("A" & ligne), Unique:=False
    End With
    'Enlever la deuxième ligne d'entête
    .Range("A" & ligne).EntireRow.Delete xlShiftUp
  Next sh
End Sub

A+
 

laloue54

XLDnaute Nouveau
Re : concatainer 2 actions dans une macro

Bonjour Hasco et merci.
Il y avait une petite erreur dans ta formule à la fin :
.Range("A" & ligne).EntireRow.Delete xlShiftUp
J'ai supprimé le point devant, car ça ne marchait pas.
Par ailleurs, j'aimerai que la ligne d'entête de la deuxième action (base2) n'apparaisse pas pour avoir une liste uniforme. Est-ce possible ?
 
G

Guest

Guest
Re : concatainer 2 actions dans une macro

Re LaLoue,


Il faut laisser le point. Car le but de cette ligne était d'enlever la deuxième ligne d'entête. MAis il faut la placer avant le End With. Comme je l'ai rajouté à la volée, supputant ta question, je ne l'avais pas testé. Désolé.
Replace la juste avant End With et avec son point.

Code:
        .Range("A" & ligne).EntireRow.Delete xlShiftUp
     End With
  Next sh
End Sub

A+
 

Discussions similaires

Réponses
1
Affichages
475

Statistiques des forums

Discussions
312 492
Messages
2 088 942
Membres
103 989
dernier inscrit
jralonso