Fonction recherche et copier/coller
Florian.G
-
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
f894009 Messages postés 17277 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Actuellement, je travaille dans une société qui me demande de traiter certaines informations. J'ai du faire un tableau de 7 colonnes et à peu près 467 lignes... Mon problème est le suivant:
Je n'arrive pas à faire une recherche et dès qu'il trouve, copier/coller ce qu'il a trouver dans une autre feuille dans des cases bien précises. Prenons un exemple:
200H / ADD-200H / MR / tâches / 25-66-66 / 25 / 06-23-02
Cela représente un exemple de mes nombreuses lignes sur mes 6 colonnes. (Les slashs délimitent les différentes colonnes).
Si je me suis mal exprimer, dite-le moi pour que je vous explique en mieux mon besoin.
Cordialement, Florian.
Actuellement, je travaille dans une société qui me demande de traiter certaines informations. J'ai du faire un tableau de 7 colonnes et à peu près 467 lignes... Mon problème est le suivant:
Je n'arrive pas à faire une recherche et dès qu'il trouve, copier/coller ce qu'il a trouver dans une autre feuille dans des cases bien précises. Prenons un exemple:
200H / ADD-200H / MR / tâches / 25-66-66 / 25 / 06-23-02
Cela représente un exemple de mes nombreuses lignes sur mes 6 colonnes. (Les slashs délimitent les différentes colonnes).
Si je me suis mal exprimer, dite-le moi pour que je vous explique en mieux mon besoin.
Cordialement, Florian.
A voir également:
- Fonction recherche et copier/coller
- Fonction si et - Guide
- Historique copier coller - Guide
- Copier coller pdf - Guide
- Copier-coller - Accueil - Informatique
- Style d'écriture a copier coller - Guide
6 réponses
Bonjour
Je n'arrive pas à faire une recherche
une recherche à partir de quelle donnée ?
dans des cases bien précises
lesquelles ?
Merci de faire l'effort d'^tre précis dans vos demandes....
Michel
Je n'arrive pas à faire une recherche
une recherche à partir de quelle donnée ?
dans des cases bien précises
lesquelles ?
Merci de faire l'effort d'^tre précis dans vos demandes....
Michel
Bonjour,
Le critere de recherche est dans quelle colonne, il est en plusieurs position dans la colonne et il tombe du ciel ou ....?
Le critere de recherche est dans quelle colonne, il est en plusieurs position dans la colonne et il tombe du ciel ou ....?
Merci de me porter de l'importance à me répondre et désolé d'être imprécis mais je débute intégralement à VBA donc bon...
J'aimerais effectuer une recherche dans tout mon tableau de 467 lignes. Une fois qu'il a trouvé la valeur "X" dans la troisième colonne, il l'a copie et l'a colle dans un autre classeur "Classeur1" (admettons pour le nom)
J'espère que j'ai été assez clair et compris dans mes explications...
J'aimerais effectuer une recherche dans tout mon tableau de 467 lignes. Une fois qu'il a trouvé la valeur "X" dans la troisième colonne, il l'a copie et l'a colle dans un autre classeur "Classeur1" (admettons pour le nom)
J'espère que j'ai été assez clair et compris dans mes explications...
Bonjour,
tout d'abord merci pour vos réponses et votre attention. Je me suis mal expliqué je vais remettre au clair mon problème:
j'ai une base de donnée qui se présente sur 7 colonnes qui s'appellent, dans cet ordre: operation code, parent task code, task code, task, Ref, ATA, CHAP.
Donc 7 colonnes et à peu près 500 lignes.
J'ai mis en place une gestion de la bases de données (créer, modifier, supprimer une ligne) sous VBA.
Je souhaite maintenant avoir la possibilité d'effectuer la copie des lignes qui ont le même "operation code" (à savoir qu'elles ne se trouvent pas forcément dans l'ordre dans la base de données) après avoir coché une checkbox (qui correspond a cette operation) et de coller ces lignes sur une feuille vierge d'excel (qui existera déjà). Il faudrait que les lignes se posent les unes après les autres dans l'ordre, à chaque fois qu'elles se collent à la dernière ligne non vide.
voila la ligne de code que j'ai commencé a faire mais elle ne marche pas comme je voudrais:
Dim M As Integer
If CheckBox28.Value = True Then
For M = 1 To 1000
If Cells(M, "B") = "A109E-INSP-7D" Then
Cells(M, "D").Select
Selection.Copy
Cells(M, "D").Select
ActiveSheet.Paste
End If
Next M
End If
tout d'abord merci pour vos réponses et votre attention. Je me suis mal expliqué je vais remettre au clair mon problème:
j'ai une base de donnée qui se présente sur 7 colonnes qui s'appellent, dans cet ordre: operation code, parent task code, task code, task, Ref, ATA, CHAP.
Donc 7 colonnes et à peu près 500 lignes.
J'ai mis en place une gestion de la bases de données (créer, modifier, supprimer une ligne) sous VBA.
Je souhaite maintenant avoir la possibilité d'effectuer la copie des lignes qui ont le même "operation code" (à savoir qu'elles ne se trouvent pas forcément dans l'ordre dans la base de données) après avoir coché une checkbox (qui correspond a cette operation) et de coller ces lignes sur une feuille vierge d'excel (qui existera déjà). Il faudrait que les lignes se posent les unes après les autres dans l'ordre, à chaque fois qu'elles se collent à la dernière ligne non vide.
voila la ligne de code que j'ai commencé a faire mais elle ne marche pas comme je voudrais:
Dim M As Integer
If CheckBox28.Value = True Then
For M = 1 To 1000
If Cells(M, "B") = "A109E-INSP-7D" Then
Cells(M, "D").Select
Selection.Copy
Cells(M, "D").Select
ActiveSheet.Paste
End If
Next M
End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
il l'a copie et l'a colle dans un autre classeur "Classeur1" (admettons pour le nom)
Où dans la classeur1 ?
je débute intégralement à VBA donc bon...
ca n'a rien à voir
quand tu as à réaliser une appli, l'erreur est de se précipiter sur l'ordi et commence à écrire des lignes ou essayer avec l'enregistreur de macro
1° étape: analyser le problème (sur papier si compliqué)
vieux proverbe: "un pb bien posé est à moitié résolu"
au besoin, poser des questions sur les imprécisions
2° étape:une fois les réponses obtenues, faire valider le système voulu par le client
3° étape: évaluer les solutions possibles et écrire ce qui parait être la solution optimum
tel que tu décris ton pb, je me dis que ca a été rédigé en "vite fait-mal fait" et j'ai tendance à zapper
Michel
Où dans la classeur1 ?
je débute intégralement à VBA donc bon...
ca n'a rien à voir
quand tu as à réaliser une appli, l'erreur est de se précipiter sur l'ordi et commence à écrire des lignes ou essayer avec l'enregistreur de macro
1° étape: analyser le problème (sur papier si compliqué)
vieux proverbe: "un pb bien posé est à moitié résolu"
au besoin, poser des questions sur les imprécisions
2° étape:une fois les réponses obtenues, faire valider le système voulu par le client
3° étape: évaluer les solutions possibles et écrire ce qui parait être la solution optimum
tel que tu décris ton pb, je me dis que ca a été rédigé en "vite fait-mal fait" et j'ai tendance à zapper
Michel
Bonjour la communauté !
Voici mon élément de réponse pour ton problème :
ça te va? :D
Bien cordialement,
Hugo
Voici mon élément de réponse pour ton problème :
'Dans le classeur 1 Dim i As Integer i=1 While x <> Range (" C " & i & "").Value i = i + 1 Wend Range("C " & i & "").EntireRow.Copy 'Ou si j'ai bien compris comme il y a 7 colonnes ce sera plus Range("A" & i & " : G " & i & "").Copy Workbooks("Classeur2").Worksheets("Feuil1").Range("A69").Paste
ça te va? :D
Bien cordialement,
Hugo
Bonjour f !
Non mais la bonne intention y est, et à peu de chose prêt il devrait fonctionner, je ne vois pas ce qu'il y a de faux dans ce que j'ai écris. Si mon code est faux, il peut s'en inspirer, si il est faux, il peut l'ignorer, si il est bon tant mieux pour lui!
Il ne faut pas chercher à se compliquer la vie, c'est aussi simple que ça. Nous ne sommes pas dans un compte rendu d'entreprise mais dans un site Web qui permet aux internautes de s'entre-aider et je suis en train de le faire.
Bonne journée, cette discussion est clause pour moi.
PS : Je reproche juste à la personne m'ayant mis un '-1' de ne pas s'être expliqué, sinon je ne vois pas l'utilité. je l'aurais fait pour une personne, afin de l'aider à s'améliorer.
Non mais la bonne intention y est, et à peu de chose prêt il devrait fonctionner, je ne vois pas ce qu'il y a de faux dans ce que j'ai écris. Si mon code est faux, il peut s'en inspirer, si il est faux, il peut l'ignorer, si il est bon tant mieux pour lui!
Il ne faut pas chercher à se compliquer la vie, c'est aussi simple que ça. Nous ne sommes pas dans un compte rendu d'entreprise mais dans un site Web qui permet aux internautes de s'entre-aider et je suis en train de le faire.
Bonne journée, cette discussion est clause pour moi.
PS : Je reproche juste à la personne m'ayant mis un '-1' de ne pas s'être expliqué, sinon je ne vois pas l'utilité. je l'aurais fait pour une personne, afin de l'aider à s'améliorer.
Bonjour,
juste pour vous
Non mais la bonne intention y est,
testez votre code et celui-ci en ajoutant le temps d'execution pour une valeur situee ligne 450 sur 470
juste pour vous
Non mais la bonne intention y est,
testez votre code et celui-ci en ajoutant le temps d'execution pour une valeur situee ligne 450 sur 470
Sub test() 'Dans le classeur 1 Dim lig As Long, Nb As Long With Worksheets("feuil1") ValX = .Range("B1") 'valeur a chercher Nb = Application.CountIf(.Columns(3), ValX) 'Nombre de fois la valeur If Nb > 0 Then 'si au moins 1 ok lig = 2 ' ligne de depart lig = .Columns.Find(ValX, .Cells(lig, 3), , xlWhole).Row 'recherche pour avoir la ligne .Range("A" & lig).Resize(, 7).Copy Workbooks("Classeur2").Worksheets("Feuil1").Range("A69") 'copie Else MsgBox "Attention: pas trouvee " & ValX & "!" End If End With End Sub