GNT sans publicité, site mobile, fonctionnalitées exclusives...

récupérer données numériques et libellés dans la feuille suivante

Le
didiersee
Bonjour, j'ai deux colonnes, celle de gauche contient des cellules
avec des libellés (texte) et aussi des cellules vides, celle de droite
contient des cellules avec du texte des cellules vides et des cellules
avec des valeurs numériques.
J'aimerai que dans une autre feuille (la suivante par
exemple)reprennent uniquement les cellules de la colonne de droite
dont les valeurs sont uniquement numériques ainsi que les libellés des
cellules qui sont juste à côté des cellules numériques.
par exemple:
en A1 j'ai pomme de terre et en B1 j'ai 100
en A2 j'ai tomate et en B2 j'ai une cellule vide
en A3 j'ai une cellule vide et en B3 j'ai aussi une cellule vide
en A4 j'ai sel et en B4 j'ai 10

je vais dans la feuille suivante et je lance une macro et
automatiquement j'ai:
en A1 j'ai pomme de terre et en B1 j'ai 100
en A2 j'ai sel et en B2 j'ai une 10

je n'aurai donc que les cellules de la colonne A et B de la feuille un
ou il y avait des valeurs numériques uniquement dans la colonne B et
cela sans aucune cellule vide dans la deuxième feuille.

Est ce possible à réaliser avec une macro? Et si oui pourriez-vous me
mettre sur la voie, bien sûr je réalise des macros avec l'enregistreur
de excel puis je les adapte plus ou moins bien mais c'est plus que de
l'enregistrement qu'il faut.
Merci d'avance.
Didiersee@hotmail.com
Lire les 7 réponses

Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre Fauconnier
Le #219828
Bonsoir

Voici qui pourrait convenir. Il faut modifier l'initialisation des feuilles

Sub CopierColonnes()
Dim FeuilleSource As Worksheet
Dim FeuilleCible As Worksheet
Dim Cellule As Range

Set FeuilleSource = Worksheets("feuil2")
Set FeuilleCible = Worksheets("Feuil3")
For Each Cellule In FeuilleSource.Range("b1:b" & _
FeuilleSource.Range("b65536").End(xlUp).Row)
If IsNumeric(Cellule) And Cellule <> "" Then _
Range(Cellule(1, 0), Cellule).Copy _
Destination:þuilleCible.Range("a65536").End(xlUp)(2)
Next Cellule
End Sub


--
Cela convient-il?
----
Pierre Fauconnier
"C'est lorsqu'il y a un temps mort qu'il faut tuer le temps..."
(remplacer NOSPAM par pfi pour me répondre. Merci)


didiersee wrote:
Bonjour, j'ai deux colonnes, celle de gauche contient des cellules
avec des libellés (texte) et aussi des cellules vides, celle de droite
contient des cellules avec du texte des cellules vides et des cellules
avec des valeurs numériques.
J'aimerai que dans une autre feuille (la suivante par
exemple)reprennent uniquement les cellules de la colonne de droite
dont les valeurs sont uniquement numériques ainsi que les libellés des
cellules qui sont juste à côté des cellules numériques.
par exemple:
en A1 j'ai pomme de terre et en B1 j'ai 100
en A2 j'ai tomate et en B2 j'ai une cellule vide
en A3 j'ai une cellule vide et en B3 j'ai aussi une cellule vide
en A4 j'ai sel et en B4 j'ai 10

je vais dans la feuille suivante et je lance une macro et
automatiquement j'ai:
en A1 j'ai pomme de terre et en B1 j'ai 100
en A2 j'ai sel et en B2 j'ai une 10

je n'aurai donc que les cellules de la colonne A et B de la feuille un
ou il y avait des valeurs numériques uniquement dans la colonne B et
cela sans aucune cellule vide dans la deuxième feuille.

Est ce possible à réaliser avec une macro? Et si oui pourriez-vous me
mettre sur la voie, bien sûr je réalise des macros avec l'enregistreur
de excel puis je les adapte plus ou moins bien mais c'est plus que de
l'enregistrement qu'il faut.
Merci d'avance.



AV
Le #220498
Autre...
Utilisation du filtre auto personnalisé(avec petite astuce pour filtrer les
valeurs num)
Sur une longue plage, l'utilisation du filtre en lieu et place des "frisottis",
peut apporter un gain de gain temps appréciable !
Les données en Feuil1 en A1:Bx à copier en Feuil2

Sub zzz()
Application.ScreenUpdating = False
With [Feuil1!A:B]
.AutoFilter Field:=2, Criteria1:=">=0", Operator:=xlOr,
Criteria2:="<=0"
.Copy ([Feuil2!A1])
.AutoFilter
End With
End Sub

AV
didiersee
Le #220385
"AV"
Autre...
Utilisation du filtre auto personnalisé(avec petite astuce pour filtrer les
valeurs num)
Sur une longue plage, l'utilisation du filtre en lieu et place des "frisottis",
peut apporter un gain de gain temps appréciable !
Les données en Feuil1 en A1:Bx à copier en Feuil2

Sub zzz()
Application.ScreenUpdating = False
With [Feuil1!A:B]
.AutoFilter Field:=2, Criteria1:=">=0", Operator:=xlOr,
Criteria2:="<=0"
.Copy ([Feuil2!A1])
.AutoFilter
End With
End Sub

AV
Bonjour Alain ce serait super si ça marchait, merci de l'effort, mais

j'ai le message "erreur de compilation" sur l'instruction
".AutoFilterField:=2", il faut que tu saches aussi que je suis sous
win 2000 et excel 2000 ça compte aussi pcq je sais que suivant les
versions de excel il faut faire parfois l'une ou l'autre modif pour
adapter les macros, enfin on ne sait jamais peut-être connaîs-tu la
solution.
Merci d'avance
Didiersee

AV
Le #220354
Bonjour Alain ce serait super si ça marchait, merci de l'effort, mais
j'ai le message "erreur de compilation" sur l'instruction
".AutoFilterField:=2",


Mais ça marche !

ATTENTION à la recopie du code :
.AutoFilter Field:=2, ...... Criteria2:="<=0"
doit être sur une seule et même ligne au lieu de 2 comme il apparaît dans le

message !

il faut que tu saches aussi que je suis sous
win 2000 et excel 2000


Dans le cas présent, pas d'importance
AV

didier
Le #222366
Un grand merci Alain ça marche super bien, tu maîtrises VBA sur le bout des
doigts
Juste pour info, tu as appris VBA en autodidacte ou tu as suivi des cours??
Si c'est en autodidacte avec quel livre as-tu appris?
Encore merci
Didier
"AV" bltmc2$irc$
Bonjour Alain ce serait super si ça marchait, merci de l'effort, mais
j'ai le message "erreur de compilation" sur l'instruction
".AutoFilterField:=2",


Mais ça marche !

ATTENTION à la recopie du code :
.AutoFilter Field:=2, ...... Criteria2:="<=0"
doit être sur une seule et même ligne au lieu de 2 comme il apparaît dans

le

message !

il faut que tu saches aussi que je suis sous
win 2000 et excel 2000


Dans le cas présent, pas d'importance
AV





Publicité
Suivre les réponses
Poster une réponse
Anonyme