Copier coller par condition avec un macro
Fermé
Ko_7838
-
29 févr. 2020 à 17:00
yg_be Messages postés 23485 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 mars 2025 - 4 mars 2020 à 10:21
yg_be Messages postés 23485 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 12 mars 2025 - 4 mars 2020 à 10:21
A voir également:
- Copier coller par condition avec un macro
- Retrouver un copier-coller android - Guide
- Copier coller pdf - Guide
- Excel cellule couleur si condition texte - Guide
- Dessin sms copier coller zizi ✓ - Forum Réseaux sociaux
- Dessin au clavier cannabis ✓ - Forum Réseaux sociaux
1 réponse
Patrice33740
Messages postés
8559
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
13 mars 2025
1 779
29 févr. 2020 à 17:47
29 févr. 2020 à 17:47
Bonjour,
« J'aimerais créer ... »
Pour cela, il va falloir apprendre à programmer correctement en VBA. La programmation exige beaucoup de rigueur, voici quelques conseils que tu devrais appliquer à ton code déjà écrit et qui t'éviterons bien des déboires pour la suite (il vaut mieux prendre les bonnes habitudes dès le début) :
• commences tous les modules par Option Explicit, cela oblige à déclarer toutes les variables ;
• déclares les variables avec le type ad hoc et faire attention à préciser le type après chaque nom de variable ;
• limites leur portée au strict nécessaire (i.e. locale, privée, publique ou globale), afin qu'elles n'existent que là où elles sont utiles ;
• envisages tous les types potentiels de chaque variable pour éviter les erreurs ;
• dans le doute prévois un gestionnaire d"erreur ;
• n'utilises jamais .Select, évites d'utiliser les objets actifs : Selection, Activecell, Activesheet, ... (sauf, très très rarement, lorsque c'est absolument indispensable) ;
• évites les références implicites(i.e. partielles), privilégies les références explicites (i.e. suffisamment complètes),
--- par exemple, au lieu de
donc, précises toujours la feuille pour un objet Range (Cells, Rows, ...) et la propriété cible (Value, Text, ...)
• n'hésites pas à utiliser des variables pour représenter les objets, ça facilite l'écriture et la lecture du code,
--- par exemple :
• pour les mêmes raisons, n'hésites pas à utiliser aussi
• évites d'utiliser des propriétés ou méthodes d'objet héritées qui pourraient ne pas exister,
--- par exemple, au lieu de :
en effet l'objet Range n'appartient pas à Sheet mais à Worksheet ;
• évites d'utiliser le Presse-Papier, préfères la copie directe avec une destination
bien, pour copier uniquement les valeurs :
• commentes le code, penses à celui (peut-être toi) qui devra le déboguer dans deux ou trois ans !
• respectes certaines règles de nommage des variables, notamment l'emploi d'un préfixe : le code est plus lisible par tous. Voir ici : https://argyronet.developpez.com/office/vba/convention/
• n'écris pas de procédures fleuves (très longues), scindes les en différentes procédures élémentaires : là encore le code sera plus lisible.
• libéres la mémoire dès que possible, en particulier pour les tableaux et les objets.
Tu trouveras ici un excellent cours VBA gratuit pour débutants (et plus si affinités ...),
même si, pour simplifier les explications, il n'applique pas toujours les conseils précédents :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Et le premier d'une série de 5 cours gratuits très complets pour apprendre par la pratique :
https://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-1/
Et très utile, le site de Jacques Boigontier, sur lequel on trouve une multitude d'exemples :
http://boisgontierjacques.free.fr/index2.htm
« J'aimerais créer ... »
Pour cela, il va falloir apprendre à programmer correctement en VBA. La programmation exige beaucoup de rigueur, voici quelques conseils que tu devrais appliquer à ton code déjà écrit et qui t'éviterons bien des déboires pour la suite (il vaut mieux prendre les bonnes habitudes dès le début) :
• commences tous les modules par Option Explicit, cela oblige à déclarer toutes les variables ;
• déclares les variables avec le type ad hoc et faire attention à préciser le type après chaque nom de variable ;
• limites leur portée au strict nécessaire (i.e. locale, privée, publique ou globale), afin qu'elles n'existent que là où elles sont utiles ;
• envisages tous les types potentiels de chaque variable pour éviter les erreurs ;
• dans le doute prévois un gestionnaire d"erreur ;
• n'utilises jamais .Select, évites d'utiliser les objets actifs : Selection, Activecell, Activesheet, ... (sauf, très très rarement, lorsque c'est absolument indispensable) ;
• évites les références implicites(i.e. partielles), privilégies les références explicites (i.e. suffisamment complètes),
--- par exemple, au lieu de
= Cells(1,2)écrire
= Worksheets(1).Cells(1,2).Value,
donc, précises toujours la feuille pour un objet Range (Cells, Rows, ...) et la propriété cible (Value, Text, ...)
• n'hésites pas à utiliser des variables pour représenter les objets, ça facilite l'écriture et la lecture du code,
--- par exemple :
Set MaPlage = Me.Range("B2:C8");
• pour les mêmes raisons, n'hésites pas à utiliser aussi
Withet
End With;
• évites d'utiliser des propriétés ou méthodes d'objet héritées qui pourraient ne pas exister,
--- par exemple, au lieu de :
Sheets(1).Range("A1")écrire
Workheets(1).Range("A1"),
en effet l'objet Range n'appartient pas à Sheet mais à Worksheet ;
• évites d'utiliser le Presse-Papier, préfères la copie directe avec une destination
Source.Copy Destinationou
bien, pour copier uniquement les valeurs :
Destination.valeur = Source.Valeur.
• commentes le code, penses à celui (peut-être toi) qui devra le déboguer dans deux ou trois ans !
• respectes certaines règles de nommage des variables, notamment l'emploi d'un préfixe : le code est plus lisible par tous. Voir ici : https://argyronet.developpez.com/office/vba/convention/
• n'écris pas de procédures fleuves (très longues), scindes les en différentes procédures élémentaires : là encore le code sera plus lisible.
• libéres la mémoire dès que possible, en particulier pour les tableaux et les objets.
Tu trouveras ici un excellent cours VBA gratuit pour débutants (et plus si affinités ...),
même si, pour simplifier les explications, il n'applique pas toujours les conseils précédents :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Et le premier d'une série de 5 cours gratuits très complets pour apprendre par la pratique :
https://laurent-ott.developpez.com/tutoriels/programmation-excel-vba-tome-1/
Et très utile, le site de Jacques Boigontier, sur lequel on trouve une multitude d'exemples :
http://boisgontierjacques.free.fr/index2.htm
4 mars 2020 à 09:23
4 mars 2020 à 10:21