Molkec
Nouveau membre
Bonjour,
Je bloque depuis un moment sur une feuilles de calculs. Comme je n'ai plus fait de VB depuis 15 ans environ je fais toutes mes manips sur Excel avec des formules mais là je n'y arrive pas.
Sur la première feuille appelé "Export" j'ai des informations sur les colonnes B à I avec les titres des colonnes sur la première ligne.
Ensuite j'ai 10 feuilles sur lesquelles je copie les informations nécessaires (colonnes D à I) provenant de la feuille "Export".
Le nom de chaque feuille correspond à une information que je retrouve dans la colonne D du fichier "Export" par exemple : sur la feuille "HCl" je veux ramener toutes les lignes de la feuille Export où il est écrit HCl dans la colonne D. Je tiens à préciser que HCl est écrit au milieu d'autres caractères alphanumériques dans la colonne D exemple : "XXX17/HCl/55".
Sur ma feuille "HCl" l'information de la colonne D de la feuille "Export" doit aller en colonne B, la colonne E de la feuille "Export" doit aller en colonne C, ... et la colonne I de la feuille "Export" doit aller en colonne G.
La première ligne dans laquelle je veux que les informations viennent se remplir est la ligne 3 sur chaque feuille (donc première case remplie B3).
Le nombre de lignes contenant HCl est aléatoire est c'est pareil pour les autres noms recherchés et il peut y en avoir aucune.
J'ai essayé avec des formules mais je n'y suis pas arrivé. Depuis ce matin j'essaye avec VB.
Voici ce que j'ai tapé et qui ne marche pas :
Sub Export()
Dim sheetsource As Worksheet
Dim shetttarget1 As Worksheet
Dim linesource As Range
Dim celltarget As Range
Dim zonesource As Range
Set sheetsource = Worksheets("Export")
Set sheettarget1 = Worksheets("HCl")
Set celltarget1 = sheettarget1.Cells(3, "B")
Set zonesource = sheetsource.Range("D2:i65536")
For Each linesource In zonesource.Rows
If linesource.Cells(4).Value = "HCl" Then
linesource.Copy Destination = celltarget1
End If
Next
End Sub
D'avance merci.
Je bloque depuis un moment sur une feuilles de calculs. Comme je n'ai plus fait de VB depuis 15 ans environ je fais toutes mes manips sur Excel avec des formules mais là je n'y arrive pas.
Sur la première feuille appelé "Export" j'ai des informations sur les colonnes B à I avec les titres des colonnes sur la première ligne.
Ensuite j'ai 10 feuilles sur lesquelles je copie les informations nécessaires (colonnes D à I) provenant de la feuille "Export".
Le nom de chaque feuille correspond à une information que je retrouve dans la colonne D du fichier "Export" par exemple : sur la feuille "HCl" je veux ramener toutes les lignes de la feuille Export où il est écrit HCl dans la colonne D. Je tiens à préciser que HCl est écrit au milieu d'autres caractères alphanumériques dans la colonne D exemple : "XXX17/HCl/55".
Sur ma feuille "HCl" l'information de la colonne D de la feuille "Export" doit aller en colonne B, la colonne E de la feuille "Export" doit aller en colonne C, ... et la colonne I de la feuille "Export" doit aller en colonne G.
La première ligne dans laquelle je veux que les informations viennent se remplir est la ligne 3 sur chaque feuille (donc première case remplie B3).
Le nombre de lignes contenant HCl est aléatoire est c'est pareil pour les autres noms recherchés et il peut y en avoir aucune.
J'ai essayé avec des formules mais je n'y suis pas arrivé. Depuis ce matin j'essaye avec VB.
Voici ce que j'ai tapé et qui ne marche pas :
Sub Export()
Dim sheetsource As Worksheet
Dim shetttarget1 As Worksheet
Dim linesource As Range
Dim celltarget As Range
Dim zonesource As Range
Set sheetsource = Worksheets("Export")
Set sheettarget1 = Worksheets("HCl")
Set celltarget1 = sheettarget1.Cells(3, "B")
Set zonesource = sheetsource.Range("D2:i65536")
For Each linesource In zonesource.Rows
If linesource.Cells(4).Value = "HCl" Then
linesource.Copy Destination = celltarget1
End If
Next
End Sub
D'avance merci.