Copier des lignes avec condition
Fermé
JM
-
26 mars 2017 à 16:15
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 mars 2017 à 08:53
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 28 mars 2017 à 08:53
A voir également:
- Copier des lignes avec condition
- Copier une vidéo youtube - Guide
- Excel cellule couleur si condition texte - Guide
- Super copier - Télécharger - Gestion de fichiers
- Copier texte pdf - Guide
- Copier disque dur - Guide
4 réponses
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
Modifié le 27 mars 2017 à 08:16
Modifié le 27 mars 2017 à 08:16
Bonjour
Je vous explique avec un exemple c'est mieux je crois
ah bon ?
par exemple: tu as besoin de copier les 16384 colonnes d'un ligne ?
on copie que les valeurs , les cellules avec ou sans leur format et/ou leurs formules?
les classeurs sont ils dans le m^me dossier ?
etc
sans boule cristal, ce qui serait réellement mieux
mettre les 2 classeurs dans un .Zip (et non dans un .rar) et
Dans l’attente
Michel
Je vous explique avec un exemple c'est mieux je crois
ah bon ?
par exemple: tu as besoin de copier les 16384 colonnes d'un ligne ?
on copie que les valeurs , les cellules avec ou sans leur format et/ou leurs formules?
les classeurs sont ils dans le m^me dossier ?
etc
sans boule cristal, ce qui serait réellement mieux
mettre les 2 classeurs dans un .Zip (et non dans un .rar) et
Mettre les classeurs sans données confidentielles en pièce jointe sur « mon-partage.fr »
et faire un clic droit-coller le raccourci dans votre message
Dans l’attente
Michel
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
27 mars 2017 à 11:50
27 mars 2017 à 11:50
Bien reçu mais...
V2= "toto" ???? pas de colonne V utilisée, "toto" inconnu
classeur source ?
classeur cible ?
V2= "toto" ???? pas de colonne V utilisée, "toto" inconnu
classeur source ?
classeur cible ?
Classeur Source = Classeur pièce forum
Classeur Cible = Classeur suivi forum
Alors, la colonne V devient la colonne U vu que j'ai supprimé une colonne ou il y avait des informations confidentielles,
"toto" = "A rajouter"
Je suis désolé, je n'avais pas précisé ça dans le message précédent
Merci beaucoup Michel_m
Classeur Cible = Classeur suivi forum
Alors, la colonne V devient la colonne U vu que j'ai supprimé une colonne ou il y avait des informations confidentielles,
"toto" = "A rajouter"
Je suis désolé, je n'avais pas précisé ça dans le message précédent
Merci beaucoup Michel_m
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
27 mars 2017 à 14:58
27 mars 2017 à 14:58
pourquoi l'appel de la dernière ligne non vide m'envoie à la derniere ligne du classeur (ctrl+fin)soit 1048576 a lors que tu annonces 5000 lignes????
de ce fait la durée de traitement est longue....
proposition
faut que je parte car je suis à la bourre
de ce fait la durée de traitement est longue....
proposition
Option Explicit
Const Mot As String = "A rajouter"
'----------------------------------------------------------------
Sub mettre_a_jour()
Dim Derlig As Integer, Nbre As Integer, T_test, T_piece
Dim Cptr As Integer, Index As Integer, Col As Byte
Dim Chemin As String, Ligvid As Integer
With Sheets("EQPT POST PR MODULE METH")
'-----------------------------------------initialisations
Derlig = .Columns("U").Find(what:=Mot, searchdirection:=xlPrevious).Row
Nbre = Application.CountIf(.Columns("U"), Mot)
End With
'tableau des "a rajouter"
T_test = Range("A2:U" & Derlig)
'détermination du tableau des données à rajouter dans le classeur cible
ReDim T_piece(1 To Nbre, 1 To 21)
'--------------------------------------------traitement
For Cptr = 1 To UBound(T_test)
If Index = Nbre Then: Exit For
If T_test(Cptr, 21) = Mot Then
Index = Index + 1
For Col = 1 To 20
T_piece(Index, Col) = T_test(Cptr, Col)
T_piece(Index, 21) = "A JOUR"
Next
End If
Next
'-------------------------------------------restitution
Chemin = ThisWorkbook.Path
Workbooks.Open (Chemin & "\" & "Classeur suivi forum.xlsx")
With Sheets("EQPT POST PR MODULE METH")
Ligvid = Columns("A").Find(what:="", after:=.Range("A1")).Row
.Cells(Ligvid, "A").Resize(Nbre, 21) = T_piece
.Range(.Cells(Ligvid, "A"), .Cells(Ligvid + Nbre, "U")).Borders.Weight = xlThin
End With
ThisWorkbook.Saved = True 'ferme le classeur source
End Sub
faut que je parte car je suis à la bourre
- ad taleur
T'as essayé le code chez toi ? parce que moi ça me donne une erreur à la première ligne du code:
Derlig = .Columns("U").Find(what:=Mot, searchdirection:=xlPrevious).Row
erreur d'execution "91" (variable objet ou variable bloc With non définie)
J'arrive pas à trouver le problème...
Sinon pour les 5000 lignes que j'ai annoncé au début c'est une approximation du nombre réel des lignes non vides dans le classeur original, je ne sais pas pourquoi il t'envoie à la dernière ligne du classeur, normalement il doit t'envoyer à la ligne 25
j'attend ton retour =) merciiii
Derlig = .Columns("U").Find(what:=Mot, searchdirection:=xlPrevious).Row
erreur d'execution "91" (variable objet ou variable bloc With non définie)
J'arrive pas à trouver le problème...
Sinon pour les 5000 lignes que j'ai annoncé au début c'est une approximation du nombre réel des lignes non vides dans le classeur original, je ne sais pas pourquoi il t'envoie à la dernière ligne du classeur, normalement il doit t'envoyer à la ligne 25
j'attend ton retour =) merciiii
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 303
28 mars 2017 à 08:53
28 mars 2017 à 08:53
T'as essayé le code chez toi?
Bravo!
Quand je me donne la peine de résoudre un problème pour aider quelqu'un, imagine toi qu'il est TOUJOURS testé.
Chez moi ca marche et je viens quand m^me de réessayer: c'est OK
https://mon-partage.fr/f/R4JxBBbw/
la lenteur avec laquelle les 2 classeurs s'ouvrent et se ferment indique un grand nombre de cellules non vides. d'où le test avec Ctrl+fin qui m'a envoyer sur la dernière ligne ---> feuille "sale"
Bravo!
Quand je me donne la peine de résoudre un problème pour aider quelqu'un, imagine toi qu'il est TOUJOURS testé.
Chez moi ca marche et je viens quand m^me de réessayer: c'est OK
https://mon-partage.fr/f/R4JxBBbw/
la lenteur avec laquelle les 2 classeurs s'ouvrent et se ferment indique un grand nombre de cellules non vides. d'où le test avec Ctrl+fin qui m'a envoyer sur la dernière ligne ---> feuille "sale"
27 mars 2017 à 09:47
Merci pour ta réponse.
Désolé je n'avais pas précisé le nombre de colonne, j'ai 20 colonnes dans mon tableau, pas de formule (le format des cellules c'est soit un texte, nombre ou une date)
Les deux classeurs je pourrai les mettre dans le même dossier si ça facilite le code.
Vu que les deux classeurs sont très lourd, j'ai supprimé les autres feuilles, et j'ai laissé que quelques lignes dans mon tableau. Voici le lien pour accéder aux classeurs :
https://mon-partage.fr/f/kQzgmk7i/
Merci d'avance pour ton aide,