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

Microsoft 365 VBA - Ne pas copier ma ligne si le n° de rang existe

Roger36

XLDnaute Nouveau
Bonjour à tous,

Je débute et je souhaiterais modifié une macro déjà existante.
J'ai une macro qui copie et colle des informations dans un autre fichier excel sous condition, mais lorsqu'elle colle mes données dans mon fichier excel, appelé suivi, celle ci remplace les informations déjà collé.
J'ai crée une nouvelle colonne "Rang" en colonne K où chaque ligne porte son numéro.
je souhaiterais rajouter dans ma macro que si le n° indiqué dans "Rang" existe alors ne pas copier ma ligne, ne rien faire.

Est-ce possible ?

Merci beaucoup pour votre aide
 

vgendron

XLDnaute Barbatruc
Bon.. plusieurs choses

1) il faut arreter de mettre des bordures sur TOUTE la feuille
==> Ca ne sert rien
==> quand tu vas lancer une impression, ca risque de te sortir 10000 pages VIDES
==> ca grossit la taille du fichier inutilement
==> et je trouve ca (gout perso) moins lisible.

2) idem pour la liste de validation sur ta colonne B

==> On ne garde QUE les lignes qui contiennent vraiment quelque chose

tu vas me dire: "oui mais quand j'ajoute des lignes, je suis obligé de refaire les bordures et ajouter la liste de validation...

==> pour éviter ca, et le faire automatiquement, il y a les tables structurées:
ca permet d'avoir un tableau limité au nombre de lignes de données
à tout ajout de donnée, le tableau s'ajuste automatiquement, recopie les formules, recopie les mFC, les bordures et listes de validation
et tu peux choisir parmi une grande liste de style
==> c'est souvent plus joli.

autre avantage : c'est pour les macros: ca simplifie la manipulation des données dans cette table
table structurée = listbobjects en VBA

donc pour commencer
tu supprimes toutes les lignes de la ligne 3 à la dernière ligne de la feuille (clic droit, supprimer)
tu cliques sur la cellule A1
menu Style / mettre sous forme de tableau
tu choisis le style qui te plait
cocher "le tableau comporte des en-tête"

en haut à gauche, dans "Nom du tableau", tu mets un nom "parlant"
exemple: Tab_BD
c'est ce nom qui sera utilisé dans le code VBA

dans le classeur Suivi commandes, j'ai déjà transformé en table structurée
essaie de reproduire ce classeur à partir du tien qui est encore SANS table structurée

dans l'onglet Notice, j'ai aussi transformé la liste des actions en table "Tab_Actions"
tu peux ainsi utiliser ce nom dans la définition de la liste de validation (voir cellule jaune)
l'avantage: si tu ajoutes ou modifies ou supprimes un élément, la liste de validation se met à jour toute seule

Dans ton classeur de travail
idem: supprimes moi tout ce quadrillage
la macro ne recopiant pas la ligne d'entete, il faut la mettre dans le fichier de travail

on peut aussi modifier la macro pour qu'elle copie aussi les entetes au moment du copier coller
 

Pièces jointes

  • 1Travaux en cours.xlsx
    20.8 KB · Affichages: 1
  • Suivi commandes EXCEL DOWNLOADS (1).xlsm
    45.3 KB · Affichages: 1

Discussions similaires

Réponses
20
Affichages
689
Réponses
9
Affichages
319
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…