extraire des données d'un tableau

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

W

wooddy

Guest
Bonjour,
j'ai un petit souci avec un tableau excel
j'ai deja une macro qui m'aide à extraire les données dans tableau sous conditions, par contre elle ne permet pas de supprimer les données du tableau d'origine
Est ce que vous pouvez m'aidé pour le faire
vous allez trouvé dans la feuille 1 de la pièce jointe le tableau d'origine et en feuille 2 le 2ème tableau
bien cordialement,
 

Pièces jointes

Re : extraire des données d'un tableau

Bonjour
Remplacer votre mecro par celleci

Sub Macro1()
Application.ScreenUpdating = False
Worksheets("Feuil2").Rows("3:" & Worksheets("Feuil2").Range("b65535").End(xlUp).Row).ClearContents
For i = 3 To Range("B65535").End(xlUp).Row
If Cells(i, 8).Value = Date Then
If Cells(i, 12).Value = "OUI" Then
Range(Cells(i, 2), Cells(i, 11)).Cut Destination:=Worksheets("Feuil2").Range("B65535").End(xlUp).Offset(1, 0)
Rows(i).ClearContents
End If
End If
Next i
Application.ScreenUpdating = True
End Sub

a+
jp
 
Re : extraire des données d'un tableau

Bonjour le fil, bonjour le forum,

Essaie comme ça :
Code:
Sub Macro1()
Dim dl As Integer
Dim cel As Range
Dim dest As Range
 
Application.ScreenUpdating = False
With Sheets("Feuil2")
    dl = .Range("B65535").End(xlUp).Row + 1
    .Rows("3:" & dl).ClearContents
End With
With Sheets("Feuil1")
    dl = .Range("B65536").End(xlUp).Row
    For Each cel In .Range("H3:H" & dl)
        If cel.Value = Date Then
            Set dest = Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0)
            .Range(Cells(cel.Row, 2), Cells(cel.Row, 11)).Copy dest
        End If
    Next cel
End With
Sheets("Feuil2").Select
Range("A1").Select
Application.ScreenUpdating = True
End Sub
 
Re : extraire des données d'un tableau

Bonjour
je viens de la tester et chez moi elle fonctionne parfaitement
as tu pensé à changer la date d'échéance que tu avais mis au 5 et on est le 6
si c'est le cas précise le disfonctionnement
a+
jpb
 
Re : extraire des données d'un tableau

Bonjour le fil, bonjour le forum,

En effet vous avez raison tous les deux...
Jpb quand il dit que sa macro fonctionne et toi, Woody, quand tu dis que la mienne ne supprime pas la ligne du tableau d'origine...

Essaie donc soit la macro de Jpb en mettant la date d'aujourd'hui (mais qui laisse la ligne vide) ou celle-ci commentée :
Code:
Sub Macro1()
Dim dl As Integer 'déclare la variable dl (Dernière Ligne)
Dim x As Integer 'déclare la variable x (incrément de ligne)
Dim dest As Range 'déclare la variable dest (DESTination)
 
Application.ScreenUpdating = False 'masque les changements à l'écran
With Sheets("Feuil2") 'prend en compte l'onglet "Feuil2"
    dl = .Range("B65535").End(xlUp).Row + 1 'définit la dernière ligne éditée de la colonne B
    .Rows("3:" & dl).ClearContents 'efface les anciennes données
End With 'fin de la prise en compte l'onglet "Feuil2"
With Sheets("Feuil1") 'prend en compte l'onglet "Feuil1"
    dl = .Range("B65536").End(xlUp).Row 'définit la dernière ligne éditée de la colonne B
    For x = dl To 3 Step -1 'boucle inversée de la dernière ligne à la troisième
        If Cells(x, 8).Value = Date Then 'condition : si la date de cellule de la colonne H est la date d'aujourd'hui
            Set dest = Sheets("Feuil2").Range("B65536").End(xlUp).Offset(1, 0) 'définit la cellule de destination
            .Range(.Cells(x, 2), .Cells(x, 11)).Copy dest 'copie et colle les données de la ligne dans la cellule de destination
            .Range(.Cells(x, 2), .Cells(x, 11)).Delete shift:=xlShiftUp 'supprime les données de la lignes
        End If 'fin de la condition
    Next x 'prochaine ligne (en remontant) de la boucle inversée
End With 'fin de la prise en compte l'onglet "Feuil1"
Sheets("Feuil2").Select 'affiche l'onglet "Feuil2"
Range("A1").Select 'célectionne la cellule A1
Application.ScreenUpdating = True 'affiche les changement à l'écran
End Sub
 
Re : extraire des données d'un tableau

oui j'avais modifié mais le problème c'est les les ligne que je veux supprimer restent c'est vrai que j'arrive à extraire les données mais ce que je veux c'est que les données disparaissent du premier tableau. c'est possible ?
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
16
Affichages
509
Retour