Coller toutes les lignes contenant telle valeur
Fermé
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
-
2 sept. 2014 à 18:50
narzi91 Messages postés 14 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 3 septembre 2014 - 3 sept. 2014 à 12:31
narzi91 Messages postés 14 Date d'inscription vendredi 7 février 2014 Statut Membre Dernière intervention 3 septembre 2014 - 3 sept. 2014 à 12:31
A voir également:
- Excel recuperer toutes les lignes contenant un mot
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Aller à la ligne excel - Guide
- Liste déroulante excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Comment récupérer un compte yahoo sans mot de passe - Guide
8 réponses
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
2 sept. 2014 à 20:35
2 sept. 2014 à 20:35
Bonsoir,
Essaye avec ce code :
Sub tri()
x = 1
Dim DernLigne As Long
DernLigne = Sheets("original").Range("A" & Rows.Count).End(xlUp).Row
For n = 2 To DernLigne
ident = Sheets("original").Range("A" & n)
If Right(ident, 2) = "FR" Then
x = x + 1
With Sheets("résultat_souhaité")
.Range("A" & x) = Sheets("original").Range("A" & n)
.Range("B" & x) = Sheets("original").Range("B" & n)
.Range("C" & x) = Sheets("original").Range("C" & n)
.Range("D" & x) = Sheets("original").Range("D" & n)
End With
End If
Next
End Sub
Cdlmnt
Essaye avec ce code :
Sub tri()
x = 1
Dim DernLigne As Long
DernLigne = Sheets("original").Range("A" & Rows.Count).End(xlUp).Row
For n = 2 To DernLigne
ident = Sheets("original").Range("A" & n)
If Right(ident, 2) = "FR" Then
x = x + 1
With Sheets("résultat_souhaité")
.Range("A" & x) = Sheets("original").Range("A" & n)
.Range("B" & x) = Sheets("original").Range("B" & n)
.Range("C" & x) = Sheets("original").Range("C" & n)
.Range("D" & x) = Sheets("original").Range("D" & n)
End With
End If
Next
End Sub
Cdlmnt
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
3 sept. 2014 à 12:27
3 sept. 2014 à 12:27
Bonjour,
Pour tenir compte de toutes les écriture il suffit de convertir en majuscules (comme tu avais fait dans ton 1er essai) dans la macro avant le test en modifiant ainsi la ligne de test :
If Ucase(Right(ident, 2)) = "FR" Then
Cdlmnt
Pour tenir compte de toutes les écriture il suffit de convertir en majuscules (comme tu avais fait dans ton 1er essai) dans la macro avant le test en modifiant ainsi la ligne de test :
If Ucase(Right(ident, 2)) = "FR" Then
Cdlmnt
Licorne rose
Messages postés
997
Date d'inscription
mardi 10 juillet 2007
Statut
Membre
Dernière intervention
18 janvier 2024
227
2 sept. 2014 à 20:07
2 sept. 2014 à 20:07
Ne la code pas, enregistre-la à la main, tout simplement.
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
2 sept. 2014 à 20:09
2 sept. 2014 à 20:09
La liste fais des milliers de ligne. Si je fais mes copiers coller, Excel va jamais comprendre que ce qui relie toutes ces lignes est le "FR". Comment automatiser tout cela dès lors.
En outre, j'aimerais apprendre à faire cette manip' par vba :)
merci en tout cas :)
En outre, j'aimerais apprendre à faire cette manip' par vba :)
merci en tout cas :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
2 sept. 2014 à 20:47
2 sept. 2014 à 20:47
Salut via55, merci pour ta réponse rapide. J'avoue ne pas connaitre toutes les méthodes que tu as utilisés, mais ça marche bien !
Seul hic, c'est quand même assez lent, alors je n'imagine pas ce que ça donnera quand je l'adapterais à mon fichier qui contient des milliers de références.
N'y a t-il pas moyen d'adapter le 'bricolage' que je vous ai fourni?
Merci encore.
Amicalement,
Seul hic, c'est quand même assez lent, alors je n'imagine pas ce que ça donnera quand je l'adapterais à mon fichier qui contient des milliers de références.
N'y a t-il pas moyen d'adapter le 'bricolage' que je vous ai fourni?
Merci encore.
Amicalement,
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 739
2 sept. 2014 à 21:18
2 sept. 2014 à 21:18
Re
Je ne crois pas que le fait de selectionner une feuille copier la ligne et selectionner l'autre feuille pour l'y copier soit necessairement plus rapide
Rajoutes déja ces2 lignes tout en début de macro
Application.ScreenUpdating = False ' desactivation rafraichissement ecran
Application.Calculation = xlCalculationManual 'desactivation calcul auto
puis leur inverse tout à la fin :
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Sur mon PC (qui rame un pourtant) le traitement de 11 000 lignes à partir de ton fichier exemple prend 7 secondes avec ma macro
Si quelqu'un sait faire mieux ..;
Cdlmnt
Je ne crois pas que le fait de selectionner une feuille copier la ligne et selectionner l'autre feuille pour l'y copier soit necessairement plus rapide
Rajoutes déja ces2 lignes tout en début de macro
Application.ScreenUpdating = False ' desactivation rafraichissement ecran
Application.Calculation = xlCalculationManual 'desactivation calcul auto
puis leur inverse tout à la fin :
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Sur mon PC (qui rame un pourtant) le traitement de 11 000 lignes à partir de ton fichier exemple prend 7 secondes avec ma macro
Si quelqu'un sait faire mieux ..;
Cdlmnt
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
3 sept. 2014 à 11:13
3 sept. 2014 à 11:13
re,
En effet, ces quelques lignes en début et en fin de code ont considérablement diminué le temps de traitement. (ça prenait une dizaine de seconde pour quelques lignes avant ça). Je t'en remercie ! J'ai pu facilement adapté la macro au fichier original, et ça me permet de sortir une feuille par pays d'origine.
C'est tout pour moi :) merci infiniment et bonne continuation !
En effet, ces quelques lignes en début et en fin de code ont considérablement diminué le temps de traitement. (ça prenait une dizaine de seconde pour quelques lignes avant ça). Je t'en remercie ! J'ai pu facilement adapté la macro au fichier original, et ça me permet de sortir une feuille par pays d'origine.
C'est tout pour moi :) merci infiniment et bonne continuation !
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
3 sept. 2014 à 11:17
3 sept. 2014 à 11:17
Petite question : n'y a t-il pas moyen de préciser dans le code de ne pas différencier les majuscules des minuscules ? (j'ai parfois du "fr", parfois du "Fr", et parfois du "FR").
narzi91
Messages postés
14
Date d'inscription
vendredi 7 février 2014
Statut
Membre
Dernière intervention
3 septembre 2014
3 sept. 2014 à 12:31
3 sept. 2014 à 12:31
normal que ça ne fonctionnait pas pour moi, j'avais oublié une parenthèse quand je mettais ceci . Merci !
Sujet parfaitement résolu :)
A bientôt
Sujet parfaitement résolu :)
A bientôt