PROBLEME AVEC UN MACRO

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

MAHARO

XLDnaute Nouveau
Bonjour,

Je sollicite votre aide sur ce macro,
ca ne renvoie que les titres sur la premiere ligne dans la feuille FEUIL1 et les titres dans la feuille FEUIL2
s'il vous plait

Salutation

VB:
Sub d1_a1()
    Dim i As Integer, derlig As Integer, j As Integer
    derlig = Range("A" & Rows.Count).End(xlUp).Row
    With Sheets("Recap")
        For i = 1 To derlig
            .Cells(i, 2) = Sheets("FEUIL1").Cells(i, 2)
            .Cells(i, 3) = Sheets("FEUIL1").Cells(i, 3)
            .Cells(i, 4) = Sheets("FEUIL1").Cells(i, 4)
            .Cells(i, 5) = Sheets("FEUIL1").Cells(i, 5)
            .Cells(i, 6) = Sheets("FEUIL1").Cells(i, 6)
            .Cells(i, 7) = Sheets("FEUIL1").Cells(i, 7)
            .Cells(i, 8) = Sheets("FEUIL1").Cells(i, 8)
            .Cells(i, 9) = Sheets("FEUIL1").Cells(i, 9)
        Next
            Sheets("Recap").Select
            For j = 1 To derlig
                If .Cells(j, 2) <> " " Then
                    .Cells(j + 1, 2) = Sheets("FEUIL2").Cells(j, 2)
                    .Cells(j + 1, 3) = Sheets("FEUIL2").Cells(j, 3)
                    .Cells(j + 1, 4) = Sheets("FEUIL2").Cells(j, 4)
                    .Cells(j + 1, 5) = Sheets("FEUIL2").Cells(j, 5)
                    .Cells(j + 1, 6) = Sheets("FEUIL2").Cells(j, 6)
                    .Cells(j + 1, 7) = Sheets("FEUIL2").Cells(j, 7)
                    .Cells(j + 1, 8) = Sheets("FEUIL2").Cells(j, 8)
                    .Cells(j + 1, 9) = Sheets("FEUIL2").Cells(j, 9)
                End If
            Next
    End With
End Sub
 
Re,

Code:
Sub dTest()
'Déclarations des variables
Dim plg As Range, f As Worksheet, x As Range, l&
Set f = Sheets("RECAP") 'La variable f correspond à la feuille RECAP
With Sheets("FEUIL1").[A1] 'On copie la "zone en cours"
'de la feuille FEUIL1 vers la cellule A2 de f
.CurrentRegion.Copy f.[A2]: f.[A1] = .Parent.Name
'On inscrit de le nom de la feuille FEUIL1 en A1 de f
End With
'On définit la variable x comme étant la 1ère cellule vide
'après la  dernière cellule non vide de la colonne 1 de f
Set x = f.Cells(Rows.Count, 1).End(3)(2)
'Même logique de recopie que pour FEUIL1
With Sheets("FEUIL2").[A1]
x = .Parent.Name 'nom de la feuille FEUIL2
.CurrentRegion.Copy x.Offset(1) 'recopie
End With
'détermination de la dernière ligne non vide
l = f.Cells(Rows.Count, "G").End(3).Row
'Suppression des colonnes surnuméraires
f.Range(f.Cells(x.Row + 1, "H"), f.Cells(l, "I")).Delete Shift:=xlToLeft
End Sub
 
- 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
5
Affichages
241
Réponses
4
Affichages
179
Réponses
8
Affichages
471
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
173
Réponses
2
Affichages
124
Réponses
8
Affichages
233
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
481
Retour