Copier coller en recherchant une ligne specifique

pour effetuer la RAZ , j’ ai fait ce code

image

Effectivement Ca ne me renvoie que les lignes differentes de 0 mais sans la mise en forme


Pour la mise en forme je t’ai expliqué que celle-ci était réalisé par une copie de la première ligne 12 de données déjà préparée (quadrillage de la portion H12 M12) ce formatage devant être maintenu impérativement
Si ce maintien representait une difficulté la ligne 12 quadrillage en place devait être masquée et de demarrer la recopie à partir de la ligne 13 en modifiant en début de traitement la variable lignecible ainsi :

De
lignecible = 12
mettre
lignecible = 13

Ainsi de d’obtenir la mise en forme attendu dans le résultat

Essaies tu verras

Je pense avoir bien modifié mais ça ne me donnes pas le resultat escompté


Par exemple quelles données ne correspond pas est manquante ou de trop ?

Attention la ligne 12 n’est pas préparée aucun quadrillage en place tu dois le réaliser une seule fois à la main portion H12 M12 à quadriller puis masquer la ligne et enregistrer le fichier
Une fois toute cette manipulation réalisée après avoir fais un raze des données à partir de la ligne 13 d’exécuter le traitement et de constater le résultat obtenu
Essaies et dis moi

Ha non au niveau des données tout est bon , c’est juste pour la mise en forme , le fait qu’il copie a partir de la ligne 13 et sans quadrillage sinon niveau données tout correspond

Oui mais ton quadrillage ligne 12 n’est pas réalisé par tes soins il est manquant
Fais le portion (quadrillage H12 M12) masques la ligne enregistres et rejoues le traitement après avoir réalisé un raze des données à partir de la ligne 13

j’y suis presque, le problème c’est qu’avec la RAZ à partir de la ligne 13, il me supprime la ligne du bas de la ligne 12


du coup en bas de tableaux il manque 1 ligne

T’embête pas , à la fin du code raz , je vais rajouter quadrillage du bas ligne 12

Je viens de tester je n’ai pas ce souci
J’ai après avoir réalisé un raze exécuté le traitement avec succès données et quadrillage plusieurs fois
Comment réalises tu le raze des données ?
Moi je sélectionne les lignes entièrement puis je les supprime et ce à partir de la treizième

Je te joins ce fichier prêt à l’emploi avec ces dernières retouches

Essaies le et dis moi

Non-Conformité Fournisseur Officiel - Copie - 2.xlsm (115 Ko)

Moi je faisait comme ça

Tu les supprimes manuellement ?

Regardes en debut de ce code tu réalises un nettoyage total des données avec l’annulation de tout quadrillage de toutes lignes à partir de la numéro 12
Normal que cette dernière se retrouve toute nue sans son habillage de quadrillage
Démarres cette procédure à partir de la ligne 13 et de laisser tranquille cette ligne 12 qui doit impérativement rester avec ses cadres
Pour ceci au lieu de H12 utilise H13 cela devrait mieux convenir pour un bon raze et une ligne 12 restée intacte
Essaies et dis moi

Oui en utilisant l’icone de la barre excel pour la suppression des lignes

J’ai un bouton RAZ avec ce code sinon , qu’est ce qui est le mieux à ton avis ?

En fait , j’ai insérer ce bout de code au début de ta macro

C’est un code plus simple et qui lui réalise automatiquement ce que je fais moi manuellement
Surtout l’exécuter qu’à partir de la ligne 13
Tu peux le simplifier en supprimant les Select inutiles
Au lieu de :

Range("H13", Range("H13").End(xlDown).End(xlToRight)).EntireRow.Select
Selection.Delete Shift:=xlUp

Mets comme ceci

Range("H13", Range("H13").End(xlDown).End(xlToRight)).EntireRow.Delete Shift:=xlUp

Ainsi de supprimer les Select inutiles pour une simplification d’écriture et un résultat strictement identique

De plus les Select inutiles alourdissent le temps d’exécution

Testes et dis moi

Ca marche nickel et comme ça c’ est intégré à ta macro , pas besoin de bouton supplémentaire pour la fonction RAZ
Merci FFO
Quand tu auras le temps , toujours aucune urgence , si tu pourras jeter un œil à ma macro " SAISIE NCF " , c’ est la plus lourde de toutes je pense , voir si on peux l’alléger ( en fait j’en suis sûr vû ma manière de coder :joy: )

Merci l’ami

Une petite précision si possible
La ligne de code que tu viens de rajouter dans sa construction ne mentionne que des cellules sans précision sur leur onglet
Donc ce sont celles de l’onglet actif qui seront prisent en compte
Si tu l’exécutes à partir d’un onglet qui n’est pas celui concerné les lignes supprimées seront celles de cet onglet souci souci
C’est pour cela que dans mon code j’associe aux cellules le nom de l’onglet en rapport
Ainsi peut-être de mettre pour les suppression de lignes comme ceci :

Sheets("STOCK NCF").Range("H13", Sheets("STOCK NCF").Range("H13").End(xlDown).End(xlToRight)).EntireRow.Delete Shift:=xlUp

d’eviter ainsi ce type de situation dommageable

Qu’en penses tu?