Difficulltés lors de création de Macro

TOUTOU03

XLDnaute Junior
Bonjour,

J'ai des difficultés pour créer deux macros sur un fichier EXCEL 2010
Quelqu'un peut-il me venir en aide?

Voici ce que je veux faire:

Sur un fichier comportant 3 feuilles Excel, sur chacune d'elles, les deux premières lignes sont figées par des titres

- La 1ère feuille comporte 4 colonnes (A, B, C, D)
o La colonne A, C et D sont au format Date (jjj jj/mm/aa;@)
o La colonne B est au format texte
- La seconde feuille est identique à la 1ère
- La dernière feuille comporte 1 colonne (A) en format texte

Je veux créer les macros suivantes :
- La première macro :
o Sélectionner les lignes (ou les cellules des colonnes A à D) de la première feuille et les déplacer vers la seconde SI la colonne A est renseignée
o Trier les données restantes dans un ordre renseigné en colonne C
- La seconde macro
o Importer sur la feuille 3 (dont la date est automatiquement renseignée en A1 de la feuille 3) les données ce trouvant dans la colonne B de la feuille 1 SI la date indiquée en colonne C est égale ou antérieure à la date renseignée en A1 feuille 3)

Merci de vos réponses
 
C

Compte Supprimé 979

Guest
Re : Difficulltés lors de création de Macro

Bonsoir le Fil, salut mon JC ;)

Voici le code de la macro1
VB:
Sub Macro1()
  Dim DerLig As Long
  ' Avec la feuille Notes
  With Sheets("Notes")
    ' Trouver la dernière ligne remplie dans la colonne C
    DerLig = .Range("C" & Rows.Count).End(xlUp).Row
    ' Effacer le tri
    .Sort.SortFields.Clear
    ' Faire le tri par date de la colonne A
    .Sort.SortFields.Add Key:=Range("A3"), SortOn:=xlSortOnValues, Order:=xlAscending, _
      DataOption:=xlSortNormal
    With .Sort
      .SetRange Range("A2:D" & DerLig)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
    ' Récupérer la dernière ligne contenant des dates
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Couper et coller les lignes dans la feuille Archives
    .Rows("3:" & DerLig).Cut Destination:=Sheets("Archives").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
    ' Supprimer les lignes vide de la feuille Notes
    .Rows("3:" & DerLig).Delete
    ' Récupérer la dernière ligne contenant des dates dans la colonne C
    DerLig = .Range("C" & Rows.Count).End(xlUp).Row
    ' Faire le tri par date de la colonne C
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("C3"), SortOn:=xlSortOnValues, Order:=xlAscending, _
      DataOption:=xlSortNormal
    With .Sort
      .SetRange Range("A2:D" & DerLig)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
  End With
End Sub

A+
 

Staple1600

XLDnaute Barbatruc
Re : Difficulltés lors de création de Macro

Bonsoir à tous

TOUTOU03 (et à tous les nouveaux membres avec des lunettes défectueuses)
Quand vous créez une discussion sur XLD, voici ce qui s'affiche
IMPORTANT :
- CHARTE DU FORUM : Lisez Lien supprimé avant votre première intervention.

- ILLUSTREZ VOTRE DEMANDE : Afin de faciliter la compréhension de votre demande il est conseillé de joindre un PETIT fichier qui illustre votre question précise et montre les résultats que vous cherchez à obtenir.
Pour l'envoyer, cliquez sur le trombone ci-dessous ou sur le bouton "Gérer les pièces jointes" dans la zone "Options supplémentaires".Ensuite, cliquez sur le bouton "Parcourir" et sélectionnez-le (après l'avoir compressé s'il dépasse les 250Ko).

- DONNEES CONFIDENTIELLES : Ne laissez AUCUNE donnée personnelle ou confidentielle (noms, adresses, N° de téléphone, entreprises...) dans vos pièces jointes. Vous mettriez Excel-Downloads en contravention avec la loi Informatique et Liberté et votre fichier devrait être enlevé.

Je n'avais pas vu que l'on pouvait joindre un fichier.
Je suis nouveau sur le forum.

Donc pensez à nettoyer vos lunettes avant de poser vos questions ;)

PS: En rouge ce que vos lunettes n'ont pas su voir. ;)
 

TOUTOU03

XLDnaute Junior
Re : Difficulltés lors de création de Macro

Bonjour,

Merci beaucoup.

J'ai inséré cette macro dans mon fichier, et elle répond à mes attentes à un détail prés:
elle exporte aussi les deux premières lignes alors que ces deux lignes doivent restées fixes.
Comment corriger cette anomalie?

Avec tous mes remerciements pour votre réponse
 

Pièces jointes

  • JFT avec macro.xlsm
    31.9 KB · Affichages: 28
  • JFT avec macro.xlsm
    31.9 KB · Affichages: 36
  • JFT avec macro.xlsm
    31.9 KB · Affichages: 39
C

Compte Supprimé 979

Guest
Re : Difficulltés lors de création de Macro

Re,
Salut mon JC ;) ça aurait pu être ça ... mais pas là, je pense :eek:

Le problème vient du fait que dans son exemple il n'y a rien dans la colonne A
et que mon précédent code ne traite pas ce genre de chose

Le voici modifié ;)
VB:
Sub Macro1()
  Dim DerLig As Long
  ' Avec la feuille Notes
  With Sheets("Notes")
    ' Trouver la dernière ligne remplie dans la colonne C
    DerLig = .Range("C" & Rows.Count).End(xlUp).Row
    ' Effacer le tri
    .Sort.SortFields.Clear
    ' Faire le tri par date de la colonne A
    .Sort.SortFields.Add Key:=Range("A3"), SortOn:=xlSortOnValues, Order:=xlAscending, _
                         DataOption:=xlSortNormal
    With .Sort
      .SetRange Range("A2:D" & DerLig)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
    ' Récupérer la dernière ligne contenant des dates
    DerLig = .Range("A" & Rows.Count).End(xlUp).Row
    ' Si la dernière ligne de la colonne A est supérieure à la ligne d'entête
    If DerLig > 3 Then
  ' Couper et coller les lignes dans la feuille Archives
      .Rows("3:" & DerLig).Cut Destination:=Sheets("Archives").Range("A" & Rows.Count).End(xlUp).Offset(1, 0)
      ' Supprimer les lignes vide de la feuille Notes
      .Rows("3:" & DerLig).Delete
    End If
    ' Récupérer la dernière ligne contenant des dates dans la colonne C
    DerLig = .Range("C" & Rows.Count).End(xlUp).Row
    ' Faire le tri par date de la colonne C
    .Sort.SortFields.Clear
    .Sort.SortFields.Add Key:=Range("C3"), SortOn:=xlSortOnValues, Order:=xlAscending, _
                         DataOption:=xlSortNormal
    With .Sort
      .SetRange Range("A2:D" & DerLig)
      .Header = xlYes
      .MatchCase = False
      .Orientation = xlTopToBottom
      .SortMethod = xlPinYin
      .Apply
    End With
  End With
End Sub

A+
 

TOUTOU03

XLDnaute Junior
Re : Difficulltés lors de création de Macro

Merci c'est vraiment super.

Je galère depuis plusieurs semaines à essayer de faire fonctionner mon fichier et j'ai toujours eu des erreurs qui l'empêchait de fonctionner

Mille fois merci...vous êtes géniaux

Si je peux revenir sur la deuxième macro que je veux créer (sur le même fichier):

o Importer sur la feuille 3 (dont la date est automatiquement renseignée en A1 de la feuille 3) les données ce trouvant dans la colonne B de la feuille 1 SI la date indiquée en colonne C est égale ou antérieure à la date renseignée en A1 feuille 3)

que dois-je faire?

Sincèrement...
 

Pièces jointes

  • JFT avec macro.xlsm
    32.1 KB · Affichages: 26
  • JFT avec macro.xlsm
    32.1 KB · Affichages: 28
  • JFT avec macro.xlsm
    32.1 KB · Affichages: 31

TOUTOU03

XLDnaute Junior
Re : Difficulltés lors de création de Macro

Bonjour à tous,

J'ai essayer de créer la deuxième macro.

Mais il y a un bug que je n'arrive pas à corriger.

Je veux sur cette macro:
-copier la colonne B de la deuxième feuille (Note) à condition que la date indiquée dans la colonne C (sur la même rangée) soit égale ou antérieure à la date d'aujourd'hui (ou celle mentionnée dans la cellule A1 de la feuille Aujourd'hui) dans la colonne A de la feuille "Aujourd'hui"

SVP:
Quelqu'un peut-il me venir en aide

Merci de votre retour,

Amicalement
 

Pièces jointes

  • JFT avec 2 macros.xlsm
    34.4 KB · Affichages: 29
  • JFT avec 2 macros.xlsm
    34.4 KB · Affichages: 32
  • JFT avec 2 macros.xlsm
    34.4 KB · Affichages: 28

TOUTOU03

XLDnaute Junior
Re : Difficulltés lors de création de Macro

Bonjour à tous,

J'ai à nouveessayer de créer la deuxième macro.

Mais il y a un bug que je n'arrive pas à corriger.

Je veux sur cette macro:
-copier la colonne B de la deuxième feuille (Note) à condition que la date indiquée dans la colonne C (sur la même rangée) soit égale ou antérieure à la date d'aujourd'hui (ou celle mentionnée dans la cellule A1 de la feuille Aujourd'hui) dans la colonne A de la feuille "Aujourd'hui"


Ce lien n'existe plus

SVP:
Quelqu'un peut-il me venir en aide

Merci de votre retour,

Amicalement
 

Pièces jointes

  • erreur Macro.docx
    235 KB · Affichages: 33
  • JFT avec 2 macros 2.xlsm
    35.9 KB · Affichages: 35
  • JFT avec 2 macros 2.xlsm
    35.9 KB · Affichages: 35
  • JFT avec 2 macros 2.xlsm
    35.9 KB · Affichages: 42

Discussions similaires

Réponses
5
Affichages
198
Réponses
22
Affichages
793

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 536
dernier inscrit
komivi