• Initiateur de la discussion Initiateur de la discussion Dennis
  • 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 !

D

Dennis

Guest
Bonjour!

Je doit faire un tableau avec un trie conditionelle:
Si un valeur dans la colonne Q <> 0, copier tout la ligne sur une autre feuille, si non rien. Sur l'autre feuille il faut ne pas avoir de ligne vide.....😕
Je suis presque sûr qu'on peut trouver la reponse sur le forum, mais je n'y parviens pas...🙁
Quelqu'un pourrais m'aider???
 
Re : Au secours!

Bonjour


Tu as essayé quoi jusqu'à maintenant?

Le filtre automatique?


Le filtre élaboré?


De faire la manipulation (en enregistrant les actions avec l'enregitreur de macros) ?


Aurais-tu un fichier exemple?

Tu veux dire : si colonne Q <> de zéro
ou colone Q <> de la colonne O ?
 
Re : Au secours!

Bonjour


Tu as essayé quoi jusqu'à maintenant?

Mon premier approche c'était la formule "si" - mais je n'ai pas réussi de faire ce que je voulais...
Le filtre automatique? oui

Le filtre élaboré? également


De faire la manipulation (en enregistrant les actions avec l'enregitreur de macros) ? Difficile car il s'agit d'un rapport "Aging" qui me montre les montants ouvert differentes sociétés ont chez nous: de ce fait les lignes qui ont un montant à zero (et qui m'intéresse pas) ne sont jamais les mêmes


Aurais-tu un fichier exemple?

Tu veux dire : si colonne Q <> de zéro => voilà c'est ça
ou colone Q <> de la colonne O ?

L'histoire c'est aussi de copier les lignes que j'ai besoin d'une manière continue, cet-à-dire sans lignes vides....
 

Pièces jointes

Re : Au secours!

Bonjour

Une petit exemple comme ceci !!!

Cdt

RGI

Edit: hello Staple1600

Merci! En partie c'est ça - par contre je ne comprend pas les critères avec lesquels sont choisis les chiffres à transférer (je ne trouve / vois pas dans le VB Editor)? D'ou viens "designation" et "code"?

Désolé pour ces questions de base, je viens de commencer avec ces problèmes un peu plus complex...
 
Re : Au secours!

Merci! En partie c'est ça - par contre je ne comprend pas les critères avec lesquels sont choisis les chiffres à transférer (je ne trouve / vois pas dans le VB Editor)? D'ou viens "designation" et "code"?

Désolé pour ces questions de base, je viens de commencer avec ces problèmes un peu plus complex...

ce n'est qu'un exemple de tableau à transférer, Si en colonne Q comme demande il y a quelque chose un x dans mon exemple alors la ligne est transférée.

RGI
 
Dernière édition:
Re : Au secours!

Re bonsoir à tous


A essayer (avec filtre élaboré et VBA)


Code:
Sub recopie_lignes()
'Déclarations
Dim Fin As Long
    With Sheets(1)
'dernière ligne non vide de la colonne Q
    Fin = .Range("Q65536").End(xlUp).Row
'critère
        .Range("IV2").FormulaLocal = "=NB.SI(Q2;""<>0"")"
'filtrage des données et recopie en feuille 2
        .Range("Q1:Q" & Fin).AdvancedFilter xlFilterCopy, Range("$IV$1:$IV$2"), Sheets(2).Range("A1"), False
 .Range("IV2").Clear
    End With
End Sub
 
Re : Au secours!

ce n'est qu'un exemple de tableau à transférer, Si en colonne Q comme demander il y a quelque chose un x dans mon exemple alors la ligne est transférée.

RGI

Si j'ai bien vu le code est ça:

Sub essai()
Sheets(1).Select
lignes = Range("Q65536").End(xlUp).Row
For lig = 2 To lignes
If Cells(lig, 17).Value = False Then GoTo pass
Cells(lig, 1).Resize(, 4).Copy _
Sheets("BON DE COMMANDE").[b65000].End(xlUp).Offset(1, 0)

pass:
Next
End Sub


ou est le x? Désole mais je ne comprend pas encore comment ça marche?!...
 
Re : Au secours!

Re bonsoir à tous


A essayer (avec filtre élaboré et VBA)


Code:
Sub recopie_lignes()
'Déclarations
Dim Fin As Long
    With Sheets(1)
'dernière ligne non vide de la colonne Q
    Fin = .Range("Q65536").End(xlUp).Row
'critère
        .Range("IV2").FormulaLocal = "=NB.SI(Q2;""<>0"")"
'filtrage des données et recopie en feuille 2
        .Range("Q1:Q" & Fin).AdvancedFilter xlFilterCopy, Range("$IV$1:$IV$2"), Sheets(2).Range("A1"), False
 .Range("IV2").Clear
    End With
End Sub

Je l'ai copie dans un sheet et j'ai un un erreur d'execution...😕
 
Re : Au secours!

Bonjour

lignes = Range("Q65536").End(xlUp).Row
lignes est une variable prenant comme valeur le numéro de ligne de la cellule ayant une valeur différente de vide
For lig = 2 To lignes
est une boucle allant de 2 au nombre de lignes non vides


la case à cocher est liée à la cellule juste en dessous de celle-ci
si la case est cochée la cellule prend la valeur VRAI et si la case à cocher est décochée la valeur de la cellule est FAUX

donc

If Cells(lig, 17).Value = False Then GoTo pass

Signifie que si la cellule de la ligne (lig) et de la colonne 17 (Q) est egale à FAUX alors je vais à l'étiquette du code pass:

sinon j'effectue le code qui suit

Cdlt

RGI
 
Dernière édition:
- 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
4
Affichages
298
Retour