Reprise de données d'un onglet vers un autre selon condition
Résolu
mamined
Messages postés
37
Statut
Membre
-
mamined Messages postés 37 Statut Membre -
mamined Messages postés 37 Statut Membre -
Bonjour le forum,
j'ai construit une macro qui effectue un matching de données provenant de 2 fichiers. A la fin, la macro copie toutes les données dans un autre onglet.
Malheureusement il me reste une étape que je n'arrive pas à faire. Depuis l'onglet "Complet", je souhaite copier dans l'onglet "Final" dès la cellule A2 toutes les valeurs des colonnes de "A" à "I", si dans l'onglet "Complet", la cellule "i" n'est pas vide.
J'arrive à intégrer dans la macro une formule si cellule "i"X non vide mais le problème c'est que cela me ramène la valeur non pas depuis la cellule A2, mais en fonction de la ligne de position de l'onglet source.
Y a t'il un moyen de ramener les infos dès la cellule A2 sans avoir des lignes vides entre les valeurs?
Ceci sachant que le nombre de ligne de l'onglet "Complet" varie d'un mois à un autre.
Un grand merci par avance car je plenche là-dessus depuis des jours sans trouver la solution
j'ai construit une macro qui effectue un matching de données provenant de 2 fichiers. A la fin, la macro copie toutes les données dans un autre onglet.
Malheureusement il me reste une étape que je n'arrive pas à faire. Depuis l'onglet "Complet", je souhaite copier dans l'onglet "Final" dès la cellule A2 toutes les valeurs des colonnes de "A" à "I", si dans l'onglet "Complet", la cellule "i" n'est pas vide.
J'arrive à intégrer dans la macro une formule si cellule "i"X non vide mais le problème c'est que cela me ramène la valeur non pas depuis la cellule A2, mais en fonction de la ligne de position de l'onglet source.
Y a t'il un moyen de ramener les infos dès la cellule A2 sans avoir des lignes vides entre les valeurs?
Ceci sachant que le nombre de ligne de l'onglet "Complet" varie d'un mois à un autre.
Un grand merci par avance car je plenche là-dessus depuis des jours sans trouver la solution
A voir également:
- Reprise de données d'un onglet vers un autre selon condition
- Fuite données maif - Guide
- Excel cellule couleur si condition texte - Guide
- Ouvrir un onglet fermé - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
2 réponses
Bonjour,
une facon de faire
une facon de faire
Sub copie_Final()
Dim plage As Range, cel As Range, derlig, derlig1
'fige ecran
Application.ScreenUpdating = False
With Worksheets("Complet")
'derniere cellule non vide colonne A
derlig = .Range("A" & Rows.Count).End(xlUp).Row
'mise en memoire plage donnees
Set plage = .Range("I2:I" & derlig)
'boucle test cellule Ix non vide
For Each cel In plage
If cel <> "" Then
'premiere cellule vide colonne A
derlig1 = Worksheets("Final").Range("A" & Rows.Count).End(xlUp).Row + 1
'copy donnees
.Range("A" & cel.Row & ":I" & cel.Row).Copy Worksheets("Final").Range("A" & derlig1 & ":I" & derlig1)
End If
Next cel
End With
Application.ScreenUpdating = True
End Sub
Bonjour tout le monde,
merci pour la réponse. Entre temps j'ai eu un coup de main et ai pu faire ce que je souhaitais
si ça peut intéresser, voilà le code qui m'a permis de le faire :
With Sheets("Complet")
For i = 2 To .Range("a2").End(xlDown).Row
If .Cells(i, 9) <> "" Then
.Range("a" & i & ":I" & i).Copy Sheets("Final").Range("a80000").End(xlUp).Offset(1, 0)
End If
Next
End With
merci pour la réponse. Entre temps j'ai eu un coup de main et ai pu faire ce que je souhaitais
si ça peut intéresser, voilà le code qui m'a permis de le faire :
With Sheets("Complet")
For i = 2 To .Range("a2").End(xlDown).Row
If .Cells(i, 9) <> "" Then
.Range("a" & i & ":I" & i).Copy Sheets("Final").Range("a80000").End(xlUp).Offset(1, 0)
End If
Next
End With