Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

copier si colonne B<colonne C

  • Initiateur de la discussion Initiateur de la discussion willou
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

W

willou

Guest
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
 
Re : copier si colonne B<colonne C

Coucou

Chez moi cela fonctionne!!!!
J'ai lancé la macro à la main... la flemme de créer un bouton!😛
Est ce que la macro ce lance???
 
Dernière édition:
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

Dernière édition:
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
 
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.
 
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 ?
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
15
Affichages
784
Réponses
5
Affichages
910
Réponses
8
Affichages
780
Réponses
2
Affichages
527
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
452
Réponses
2
Affichages
411
Réponses
18
Affichages
597
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…