Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

formule Excel

TOUTOU03

XLDnaute Junior
Bonjour,

je me trouve en difficulté pour adapter une macro sur un fichier

mon classeur comporte 2 feuilles:

La première feuille comporte des informations (colonne A à F et ligne et ligne 3 à 27) et trois boutons (Enregister, Imprimer et Archiver)

le soucis est avec le troisième bouton (Archiver)

je veux qu'il exporte les informations contenues dans les lignes 3 à 27, de la colonne A à F, vers la deuxième feuille (Archives) si et seulement si la colonne A est renseignée.

de la façon ou j'ai crée ma macro, mon bouton exporte les lignes y compris les differents boutons, et remonte les lignes 28 et plus qui elles ne doivent pas bouger

je crois savoir d'ou vient l'erreur, mais je n'arrive pas à la corriger.

Quelqu'un peut-il me conseiller?

Avec tous mes remerciements
 

Pièces jointes

  • Remises de banque.xlsm
    58.5 KB · Affichages: 32
  • Remises de banque.xlsm
    58.5 KB · Affichages: 34
  • Remises de banque.xlsm
    58.5 KB · Affichages: 35

VDAVID

XLDnaute Impliqué
Re : formule Excel

Bonjour TOUTOU03,

Si j'ai bien compris,
Peut-être dans le code de ton bouton:

Code:
'Déclaration des variables
Dim maPlagedépart As Range, maPLagefin As Range
Dim tabl()
    
    'Récupération des données à couper/coller
    Set maPlagedépart = Sheets("Remises").Range("A3:F" & Range("A27").End(xlUp).Row)
    
    'Remplissage du tableau
    tabl = maPlagedépart.Value
    
    'Enlever l'Apostrophe de la ligne du dessous pour supprimer les lignes après archivage
    'maplagedépart.ClearContents
    
    'Définition de la plage d'arrivée
    Set maPLagefin = Sheets("Archives").Range("A" & Sheets("Archives").Range("A65536").End(xlUp).Row + 1 & ":" & "F" & Sheets("Archives").Range("A65536").End(xlUp).Row + UBound(tabl()))
        
    'Remplissage de la plage d'arrivée
    maPLagefin.Value = tabl

PS: Les deux lignes après 'Définition de la plage d'arrivée sont à regroupé sur une seule.

Bonne journée !
 

hbenalia

XLDnaute Occasionnel
Re : formule Excel

Bonjour à tous,

Une idée en remplaçant le code du bouton "Archiver" (code de CommandButton3) par le code suivant:

Code:
Private Sub CommandButton3_Click()

' Archiver

    Range("A3:F27").Select
    Selection.Copy
    
    Sheets("Archives").Select
    DerLig = Sheets("Archives").Range("A" & Rows.Count).End(xlUp).Row + 1
    Sheets("Archives").Range("A" & DerLig).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Sheets("Archives").Range("A" & DerLig).Select
    
    Sheets("Remises").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A3").Select

    ActiveWorkbook.Save
End Sub

Cordialement
 
Dernière édition:

TOUTOU03

XLDnaute Junior
Re : formule Excel

merci de votre retour rapide.

la formule répond à mes attentes à un détail prés...
je souhaite exporter que les lignes dont la colonne A est renseignée
si A est vide, le ligne doit rester.
 

hbenalia

XLDnaute Occasionnel
Re : formule Excel

Bonjour,

Peut-être le code :
Code:
Private Sub CommandButton3_Click()
' Archiver
    Range("$A$3:$F" & Range("A27").End(xlUp).Row).Select
    Selection.Copy
    
    Sheets("Archives").Select
    DerLig = Sheets("Archives").Range("A" & Rows.Count).End(xlUp).Row + 1
    Sheets("Archives").Range("A" & DerLig).Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    Sheets("Archives").Range("A" & DerLig).Select

    Sheets("Remises").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A3").Select

    ActiveWorkbook.Save

End Sub

Cordialement
 

TOUTOU03

XLDnaute Junior
Re : formule Excel

merci beaucoup,

j'ai inséré le premier code qui fonctionne à un détail prés.
le dernier ne fonctionne pas.

ce que je veux réellement, c'est exporter uniquement les lignes dont A est renseigné.

j'ais complété le code pour séparer les lignes dont A est renseigné de celle dont A ne l'ai pas.

mais je n'arrive pas à aller plus loin
 

Pièces jointes

  • Remises de banque.xlsm
    61.2 KB · Affichages: 37
  • Remises de banque.xlsm
    61.2 KB · Affichages: 37
  • Remises de banque.xlsm
    61.2 KB · Affichages: 39

hbenalia

XLDnaute Occasionnel
Re : formule Excel

Bonjour à tous,

Une petite amélioration du code "archiver" pour trier (par ordre décroissant) la plage A3:F27 selon la couleur des cellules de A3:A27 (la couleur "grise" des cellules renseignées est ajoutée par une MFC)... Les lignes de la plage A3:F27 dont les cellules de la colonne A sont renseignées (colorrées en gris) seront mises en bas de cette plage, selectionnées et recopiées dans la deuxième feuille, ensuite elles seront vidées...

J'espère venir à ton aide...

Cordialement
 

Pièces jointes

  • Remises de banque.xlsm
    60.4 KB · Affichages: 30
  • Remises de banque.xlsm
    60.4 KB · Affichages: 32
  • Remises de banque.xlsm
    60.4 KB · Affichages: 26

Discussions similaires

Réponses
3
Affichages
555
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…