Poblème avec macro
massimo888
Messages postés
209
Statut
Membre
-
massimo888 Messages postés 209 Statut Membre -
massimo888 Messages postés 209 Statut Membre -
Bonjour,
J'ai une macro qui fait des copier coller d'un tableau 1 à un autre (tableau 2) et elle supprime les doublons.
Je suis pas trop calé niveau Macro du coup j'ai fais avec mes moyens.
Je copie le tableau 1 une première fois selon un critère pour sélectionner les lignes voulues et je colle dans le tableau2 , ensuite je recopie encore une fois le tableau 1 j'insère une ligne vide et je colle dedans puis je supprime les doublons comme ça je garde les valeurs en un seul exemplaire.
Voici mon code.
///
Merci pour votre aide
J'ai une macro qui fait des copier coller d'un tableau 1 à un autre (tableau 2) et elle supprime les doublons.
Je suis pas trop calé niveau Macro du coup j'ai fais avec mes moyens.
Je copie le tableau 1 une première fois selon un critère pour sélectionner les lignes voulues et je colle dans le tableau2 , ensuite je recopie encore une fois le tableau 1 j'insère une ligne vide et je colle dedans puis je supprime les doublons comme ça je garde les valeurs en un seul exemplaire.
Voici mon code.
///
Sub Macro()
Sheets("Feuil2").Activate
[A65536].End(xlUp).Select 'selection de la derniere céllule non vide
' ActiveCell.Offset(1, 0).Select ' insertion d'une ligne en bas
Sheets("CS").Activate
ActiveSheet.ListObjects("Tableau_Lancer_la_requête_à_partir_de_CS").Range. _
AutoFilter Field:=23, Criteria1:="Cloturé"
Range("Tableau_Lancer_la_requête_à_partir_de_CS").Select
Selection.Copy
Sheets("Feuil2").Select
ActiveSheet.Paste
Sheets("Feuil2").Activate
[A65536].End(xlUp).Select 'selection de la derniere céllule non vide
ActiveCell.Offset(1, 0).Select ' insertion d'une ligne en bas
Sheets("CS").Activate
ActiveSheet.ListObjects("Tableau_Lancer_la_requête_à_partir_de_CS").Range. _
AutoFilter Field:=23, Criteria1:="Cloturé"
Range("Tableau_Lancer_la_requête_à_partir_de_CS").Select
Selection.Copy
Sheets("Feuil2").Select
ActiveSheet.Paste
Range("Tableau2").Select
ActiveSheet.Range("Tableau2").RemoveDuplicates Columns:=Array(1, 2, 3, 4, _
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23), Header:=xlYes
end sub
Merci pour votre aide
A voir également:
- Poblème avec macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Macro maker - Télécharger - Divers Utilitaires
- Actiona macro - Télécharger - Divers Utilitaires
7 réponses
Bonjour,
Avec votre fichier comme exemple ce serait mieux pour comprendre, le mettre sur https://www.cjoint.com/ et poster le lien !
Avec votre fichier comme exemple ce serait mieux pour comprendre, le mettre sur https://www.cjoint.com/ et poster le lien !
Bonjour,
Merci pour le fichier.
Ce que vous avez réalisé est une chose, mais que voulez-vous avoir comme résultat.... ?
En plus votre code ne si trouve pas...ou est-il ?
Merci pour le fichier.
Ce que vous avez réalisé est une chose, mais que voulez-vous avoir comme résultat.... ?
En plus votre code ne si trouve pas...ou est-il ?
Si le code est dedans. Il faut juste activer le contenu ou la modification.
Ce que je veux c'est de copier les données d'un tableau 1 (pas toutes les lignes justes celles qui m'intéressent) en suite les coller dans une feuille apparentant au même classeur sous forme d'un tableau 2.
Le code que j'ai fait copie et colle sous format tableau mais à partir d'un certain nombre de copier-coller il cache toutes les lignes du tableau 1 et en plus il me colle tout le tableau sans faire de tri.
Merci
Ce que je veux c'est de copier les données d'un tableau 1 (pas toutes les lignes justes celles qui m'intéressent) en suite les coller dans une feuille apparentant au même classeur sous forme d'un tableau 2.
Le code que j'ai fait copie et colle sous format tableau mais à partir d'un certain nombre de copier-coller il cache toutes les lignes du tableau 1 et en plus il me colle tout le tableau sans faire de tri.
Merci
Bonjour,
Vous avez sur le tableau 1 toutes les données et lorsqu'un enregistrement est clôturée vous voulez le supprimer du tableau 1 et le mettre dans l'archive [Tableau 2] ....est-ce bien cela que vous désirez ?
Vous avez sur le tableau 1 toutes les données et lorsqu'un enregistrement est clôturée vous voulez le supprimer du tableau 1 et le mettre dans l'archive [Tableau 2] ....est-ce bien cela que vous désirez ?
J'ai fait ce code mais j'ai quelques erreurs.
Pour la boucle 1, la macro se bloque une fois qu'elle n'a plus de lignes à supprimer.
Merci pour votre aide
Sub Copier()
Range("Tableau1").Select
Selection.Copy
Sheets("Feuil2").Select
[A65536].End(xlUp).Select
' ActiveCell.Offset(-1, 0).Select
Selection.EntireRow.Insert
'boucle 1 supprimer lignes
Dim i As Long
For i = Range("B65536").End(xlUp).Row To 1 Step -1
If Not UCase(Cells(i, 2).Value) Like UCase("*ordinateur*") Then Rows(i).Delete
Next i
'Boucle 2 supprimer doublons
Range("Tableau2").Select
ActiveSheet.Range("Tableau2").RemoveDuplicates Columns:=Array(1, 2, 3, 4, _
5), Header:=xlYes
End Sub
Pour la boucle 1, la macro se bloque une fois qu'elle n'a plus de lignes à supprimer.
Merci pour votre aide
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
Votre code ne fonctionne pas avec le fichier exemple mis à disposition qui à 8 colonnes et sur la feuille 2 il recopie sur 16384 colonnes ce qui est faux.
Dans la boucle de suppression vous faite référence à : Like UCase("*ordinateur*") qui n'existe pas dans l'exemple.... !
Je ne sais pas quoi faire !
Votre code ne fonctionne pas avec le fichier exemple mis à disposition qui à 8 colonnes et sur la feuille 2 il recopie sur 16384 colonnes ce qui est faux.
Dans la boucle de suppression vous faite référence à : Like UCase("*ordinateur*") qui n'existe pas dans l'exemple.... !
Je ne sais pas quoi faire !
En fait j'ai changé le fichier. (j'ai fais trop de macros dessus)
Je vous le transmet.
http://cjoint.com/data/0GknQMDgn4E.htm
Je vous le transmet.
http://cjoint.com/data/0GknQMDgn4E.htm
Bonjour,
Mais le nombre de macros n'a pas d'influence sur le fichier.... !
Il suffit que ce soit le bon... !
Dans votre code. La boucle pour supprimer les lignes vous ne devez pas supprimer la ligne des titres. Donc vos données commences en ligne 2 de ce fait remplacer le 1 par 2 dans [For,...] et profitiez de modifier votre code comme suit :
Mais le nombre de macros n'a pas d'influence sur le fichier.... !
Il suffit que ce soit le bon... !
Dans votre code. La boucle pour supprimer les lignes vous ne devez pas supprimer la ligne des titres. Donc vos données commences en ligne 2 de ce fait remplacer le 1 par 2 dans [For,...] et profitiez de modifier votre code comme suit :
For i = Cells(Rows.Count, 2).End(xlUp).Row To 2 Step -1Note : [Cells(Rows.Count, 2).] tient compte automatiquement du nombre de ligne maximum de la feuille selon la version Excel utilisée.
Voila!!
Merci