copier si colonne B<colonne C

willou

XLDnaute Junior
Bonjour

je sollicite encore une fois votre aide,

J'ai trois colonnes A, B, C
J'aimerai par un click bouton que lorsqu'on click, une macro se lance disant que :
si les valeurs de la colonne B < valeurs de la colonne C (condition)
ALORS il me copie sur une autre feuille les lignes qui correspondent a la condition.

J'ai essayé ca mais ca ne marche pas :

Private Sub CommandButton1_Click()
Sheets("Feuil2").Select
For i = 1 To Range("C65536").End(xlUp).Row
If Cells(i, 2).Value <= Cells(i, 3).Value Then
Rows(i).Copy Sheets("Feuil1").Cells(j + 3, 1)
j = j + 3
End If
Next
Application.CutCopyMode = False
End Sub

il ne m'affiche rien en feuil1

Pourriez vous m'aider s'il vous plait ?


Merci

willou
 

Efgé

XLDnaute Barbatruc
Re : copier si colonne B<colonne C

Bonjour willou, tbft. Il peut y avoir un problème dans le code si le bouton est sur la feuille1 et que le code est dans le code la feuille1. En mettant, par exemple :
VB:
Cells(i, 2).Value
c'est la cellule de la feuille1 qui sera prise en compte même si la feuille2 est activée. Pour éviter cela il faut préciser la feuille qui porte cette cellule. Avec un With / End With, tout deviens plus simple. Cordialement
 

Pièces jointes

  • willou(1).xls
    24 KB · Affichages: 37
Dernière édition:

willou

XLDnaute Junior
Re : copier si colonne B<colonne C

je vous remercie ca fonctionne, en effet j'avais pas préciser la feuille du bouton.

Par contre savez vous comment mettre les données résultats les unes en dessous des autres, et non pas à la ligne qu'elles correspondent ?

Merci encore
 

tbft

XLDnaute Accro
Re : copier si colonne B<colonne C

Cocou

en utilisant deux pointeurs differents comme tu as fait.
essaye peut être de remplacer j=j+3 par j=j+1
il n'y aura pas de ligne vide entre deux enregistrements.
j'avais vue cela.
mais je croyais que c'était fait pour.
 

willou

XLDnaute Junior
Re : copier si colonne B<colonne C

Ca marche pas, il me met erreur en fin d'instruction :
Private Sub CommandButton7_Click()
With Sheets("Feuil2")
For i = 1 To .Range("C65536").End(xlUp).Row
If .Cells(i, 2).Value <= .Cells(i, 3).Value Then
.Rows(i).Copy Sheets("STOCKMIN").Copy Cells(Rows.Count, 2).End(xlUp).Offset(1, -1)
End If
Next i
End With
End Sub

j'ai mal écrit ?
 

willou

XLDnaute Junior
Re : copier si colonne B<colonne C

je ne comprends pas, plus rien ne marche, on dirait qu'il ne reconnait pas la feuille où il doit copier
j'ai la feuille présentation où est le bouton
la feuil2 où j'ai les données
la feuille STOCKMIN où j'aimerai que les données se colle :

Private Sub CommandButton1_Click() 'click dans la feuille "PRESENTATION"
With Sheets("Feuil2")
For i = 1 To .Range("C65536").End(xlUp).Row
If .Cells(i, 2).Value < .Cells(i, 3).Value Then
.Rows(i).Copy Sheets("STOCKMIN").Cells(Rows.Count, 3).End(xlUp).Offset(1, -1) 'Copie dans la feuille STOCKMIN
End If
Next i
End With
End Sub

Ben il me met erreur de syntaxe
 

Efgé

XLDnaute Barbatruc
Re : copier si colonne B<colonne C

Re, @ willou : si tu utilise
VB:
Cells(Rows.Count, 3).
il faut utiliser
VB:
.Offset(1, -2)
@ tbft Si on ne cherche pas la dernière ligne à chaque passage on va utiliser des lignes qui ne seront peut être pas vides. En utilisant la méthode du j = j +1 on recommence à chaque début de macro par la ligne 1 puis 2 et ainsi de suite. Comme, en plus, on vide pas les cellules, on ne retrouvera pas nos petits si le nombre de ligne à transférer aujourd'hui est inférieur au nombre de lignes transférées hier ;-). Maintenant tout dépend de l'utilisation réelle du fichier, fichier dont on aurai bien aimé avoir un exemple, mais c'est une autre histoire.... Cordialement
 

Efgé

XLDnaute Barbatruc
Re : copier si colonne B<colonne C

Re @tbft , Si tu vas par là, je ne pense pas qu'il soit plus long de boucler avec le .end(xlup) que d'incrémenter un pointeur. En plus cela fait une variable de plus. Mais bon "ça se discute" ;-) Cordialement
 

willou

XLDnaute Junior
Re : copier si colonne B<colonne C

Vous avez raison, je vous envoie le fichier test en espérant que cela va marcher avec vous, car la je suis perdu...
 

Pièces jointes

  • TEST.xlsm
    106.2 KB · Affichages: 37
  • TEST.xlsm
    106.2 KB · Affichages: 36
  • TEST.xlsm
    106.2 KB · Affichages: 37

Discussions similaires

Réponses
11
Affichages
321

Membres actuellement en ligne

Statistiques des forums

Discussions
312 370
Messages
2 087 693
Membres
103 641
dernier inscrit
anouarkecita2