[Excel] recopier une valeur selon un critere

Résolu/Fermé
floom26 Messages postés 61 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 25 janvier 2011 - 19 janv. 2010 à 14:36
Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 - 19 janv. 2010 à 16:01
Bonjour,

Je vous explique ma problématique.

J'ai une feuille de données en quelque sorte qui comporte 2 colonnes : A et B de la manière qui suis :
A B
12 texte1
23 texte2
0 0
5 texte3
0 0
0 0
69 texte4
... ...

Je souhaite récupérer à l'aide d'une macro (pour pouvoir insérer un bouton qui rafraichisse ma table) toutes les données sur une autre feuille avec les deux mêmes colonnes mais simplement là ou les valeurs de A sont différentes de 0.

Donc ici, sur mon autre feuille :

A B
12 texte1
23 texte2
5 texte3
69 texte4

Je ne maîtrise pas les macros c'est pour ça que je compte sur l'un de vous pour me donner le code avec si possible l'ajout en début de macros du nettoyage de la feuille pour mettre à jour intégralement à chaque fois que je la lance.

Merci beaucoup beaucoup
A voir également:

1 réponse

Farfadet88 Messages postés 6293 Date d'inscription lundi 28 janvier 2008 Statut Membre Dernière intervention 29 avril 2020 1 365
19 janv. 2010 à 16:01
Trouvé sur ce post et adapté à tes critères

https://forums.commentcamarche.net/forum/affich-2365851-vba-excel-copier-lignes-avec-condition


Sub Bouton1_QuandClic()
Dim Lig As Long
Dim Col As String
Dim NbrLig As Long
Dim NumLig As Long

Sheets("feuil2").Activate ' feuille de destination

Col = "a" ' colonne données non vides à tester'
NumLig = 2 'alors là ca doit etre le N° de la 1er ligne de données en comptant la ligne 1 = 0 .... ? '
With Sheets("feuil1") ' feuille source'
NbrLig = .Cells(65536, Col).End(xlUp).Row
For Lig = 1 To NbrLig 'n° de la 1ere ligne de données'
If .Cells(Lig, Col).Value <> 0 Then
.Cells(Lig, Col).EntireRow.Copy
NumLig = NumLig + 1
Sheets("feuil2").Cells(NumLig, 1).Insert Shift:=xlDown
'ici pour insérer ou .Paste pour coller'
End If
Next
End With
End Sub
1