Copier cellules non vides uniquement

Bonjour à tous,

Je rencontre un problème sur l'un de mes fichiers pour le travail. Je vous explique :

J'ai un premier formulaire me permettant d'inscrire les produits d'une commande. Grâce à une macro, je copie ces données sur un deuxième onglet qui me sert donc de base de donnée commande. Cependant, j'aimerai ne copier uniquement les lignes de mon tableau non vides. Puisqu'une commande peut comporter aussi bien 1,2,5,10 produits...

J’espère avoir été assez clair. Merci infiniment pour votre aide précieuse !!

Bonjour et bienvenue,

Merci de joindre un fichier à ta demande.

Cdlt.

Bonsoir Julien, Jean-Eric,

sur ton formulaire, tu as les lignes de détail pour les produits ; pour chacune d'elles, le 1er champ est sans doute un code produit (quand tu le saisis, la désignation du produit et son prix unitaire sont écrits automatiquement).

ta macro actuelle contient sûrement une boucle pour lire chaque ligne de détail ; donc pour chaque ligne : tu commences par lire le 1er champ du code article ; ensuite, c'est seulement si ce code est non vide que tu copies ta ligne de détail ➯ y'a pas de ligne vide dans ta base de données des commandes !

ton tableau des lignes de commandes est sur le formulaire, mais comme tu n'as pas transmis de fichier, je vais faire comme s'il est sur une feuille de calcul, des lignes 2 à 20 ; ce sera à toi de transposer avec tes TextBox du formulaire ; le code VBA pour une feuille de calcul pourrait alors ressembler à ceci (les code article étant en colonne A) :

Dim code$, lig As Byte
For lig = 2 To 20
  code = Cells(lig, 1)
  If code <> "" Then
    'ici, code pour copier une ligne de détail de la commande sur ta 2ème feuille (celle de ta base de données)
  End If
Next lig

si une ligne de détail est vide, ça ne la copie pas (même si cette ligne vide est intercalée entre les autres, et pas seulement à la fin !)

si tu n'utilise pas de code article, alors utilise à la place le nom article (raisonnement identique ; suffit d'remplacer code par nom).

dhany

Bonjour Dhany, Jean-Eric,

Tout d'abord bonne année,

Je mets du temps à revenir vers vous j'étais en vacances !! (quelle chance)

Je vous mets en pièce jointe le fichier en question.

Dhany, merci pour ta proposition. Cependant, je n'ai pas besoin uniquement du code mais également de toutes les autres informations.

Je précise que je suis débutant en VBA, merci beaucoup pour votre aide !!!

Julien

Quelqu'un pour m'aider

HELP !!

ça vient ! c'est pour très bientôt !

Merci merci merci merci merci merci merci merci merci merci !!!!

Bonjour Julien,

bonne année 2019 !

je te retourne ton fichier modifié :

* à l'ouverture du fichier, tu es sur la 2ème feuille, et tu peux voir qu'elle est inchangée.

* va sur la 1ère feuille ; fais Ctrl e (ou clique sur ton bouton) ➯ tes lignes ont été effacées,

puis copiées sur la 2ème feuille, au-dessus des autres lignes déjà existantes.

* note que la cellule active est A8 : ainsi, c'est déjà prêt pour une nouvelle saisie.


Alt F11 pour voir le code VBA, puis revenir sur Excel

si besoin, tu peux demander une adaptation.

merci de me dire si ça te convient.

dhany

Re-bonjour Dhany,

J'ai pu prendre connaissance du fichier et tout est parfait comme je le voulais !!

Merci beaucoup pour ton aide précieuse je vais enfin pouvoir avancer !! C'est super gentil.

Julien

merci pour ton retour !

bonne continuation !

dhany

A toi aussi !!

Julien

Rechercher des sujets similaires à "copier vides uniquement"