Extraire d'un tableau excel certaines lignes
emmenez-moi
Messages postés
2
Statut
Membre
-
melanie1324 Messages postés 1561 Statut Membre -
melanie1324 Messages postés 1561 Statut Membre -
Bonjour,
Je m'inspire souvent de vos remarques, mais là je bloque.
Je souhaite extraire d'un tableau certaines lignes pour remplir un autre tableau, mais sou s certaines conditions. La difficulté est de copier ces lignes sans les lignes vides.
- dans le tableau 1 , la colonne C1 se remplie quand je remplie D1, ou D2 jusquà D7. Le même principe jusqu'à C80.
- dans le tableau 2, je veux faire apparaître que les lignes ou la colonne C est remplie, et pas les autres. Le but est de recopier toutes les données de la ligne C, car en A j'ai le nom, etc...
La formule que j'ai mis est la suivante, elle marche mais elle ne concerne qu'une ligne : SI(NB.SI(C3;"");"";A3) : ce que je veux c'est que si C3 est vide, il vérifie C4, et si C4 est rempli il copie A4, sinon il vérifie C5, et même raisonnement.
Merci beaucoup de votre aide
Je m'inspire souvent de vos remarques, mais là je bloque.
Je souhaite extraire d'un tableau certaines lignes pour remplir un autre tableau, mais sou s certaines conditions. La difficulté est de copier ces lignes sans les lignes vides.
- dans le tableau 1 , la colonne C1 se remplie quand je remplie D1, ou D2 jusquà D7. Le même principe jusqu'à C80.
- dans le tableau 2, je veux faire apparaître que les lignes ou la colonne C est remplie, et pas les autres. Le but est de recopier toutes les données de la ligne C, car en A j'ai le nom, etc...
La formule que j'ai mis est la suivante, elle marche mais elle ne concerne qu'une ligne : SI(NB.SI(C3;"");"";A3) : ce que je veux c'est que si C3 est vide, il vérifie C4, et si C4 est rempli il copie A4, sinon il vérifie C5, et même raisonnement.
Merci beaucoup de votre aide
A voir également:
- Extraire plusieurs lignes d'un tableau excel
- Trier un tableau excel - Guide
- Tableau word - Guide
- Imprimer un tableau excel - Guide
- Liste déroulante excel - Guide
- Extraire une video youtube - Guide
3 réponses
merci c'est bien ce que je pensais, et le maîtrisant pas cette technique, je suis en panne. Sais-tu si elle serait compliquée
Bonjour,
tu vas dans Outils, macro, visual basic editor.
tu fais insertion, module et tu mets :
sub copie ()
i= 1 ' tableau 1 1ère ligne
a= 1 'tableau 2 1ère ligne
do while i <= 80 'une boucle qui travaillera jusqu'à 80 lignes
if sheets("tableau1").cells(i,3) <> "" then 'si dans la feuille tableau1 (que tu dois remplacer par le bon nom) la ligne i et a c est différent à rien
sheets("tableau2").cells(a,3) = sheets("tableau1").cells(i,3) ' alors la ligne a de la colonne c du tableau 2 (que tu dois remplacer par ton nom de feuille) = à laligne i de la colonne c du tableau 1
a=a+1
end if
i=i+1
loop
' ce bout de code permet d'effacer de ta colonne c du tableau2 si tu n'as pas rempli les 80 lignes
if a <> i then
sheets("tableau2").select
range(cells(a,3),cells(80,3)) = ""
end if
loop
end sub
tu vas dans Outils, macro, visual basic editor.
tu fais insertion, module et tu mets :
sub copie ()
i= 1 ' tableau 1 1ère ligne
a= 1 'tableau 2 1ère ligne
do while i <= 80 'une boucle qui travaillera jusqu'à 80 lignes
if sheets("tableau1").cells(i,3) <> "" then 'si dans la feuille tableau1 (que tu dois remplacer par le bon nom) la ligne i et a c est différent à rien
sheets("tableau2").cells(a,3) = sheets("tableau1").cells(i,3) ' alors la ligne a de la colonne c du tableau 2 (que tu dois remplacer par ton nom de feuille) = à laligne i de la colonne c du tableau 1
a=a+1
end if
i=i+1
loop
' ce bout de code permet d'effacer de ta colonne c du tableau2 si tu n'as pas rempli les 80 lignes
if a <> i then
sheets("tableau2").select
range(cells(a,3),cells(80,3)) = ""
end if
loop
end sub