Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

7 réponses
Avatar
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

7 réponses

Avatar
Pierre Fauconnier
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.



Avatar
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
Avatar
didiersee
"AV" wrote in message news:<blt7l7$u8l$...
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

Avatar
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",


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

Avatar
didier
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" a écrit dans le message de news:
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





Avatar
AV
Juste pour info, tu as appris VBA en autodidacte ou tu as suivi des cours??
** Je suis diplomé (mention honorable) de la JPS School !


Si c'est en autodidacte avec quel livre as-tu appris ?
** Mon livre de chevet :

"Excel de A à Z"
par JPS aux Editions du Tonneau

;-)
AV

Avatar
Clément Marcotte
Des plans qu'il fasse un autre référendum pour savoir s'il peut
t'adresser un blâme. :-)))))))))