Macro applicable à une seule colonne
Résolu
ButteDuLac
Messages postés
495
Date d'inscription
Statut
Membre
Dernière intervention
-
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
ButteDuLac Messages postés 495 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Macro applicable à une seule colonne
- Déplacer une colonne excel - Guide
- Trier une colonne excel - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Colonne word - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
Tu fais deux erreurs:
- les 4 instructions entre le if et le next sont toujours exécutées, elles ne sont pas contrôlées par le if
- il faut éviter d'utiliser select, activate, copy, paste dans des macros
Essaie ceci (non testé) :
- les 4 instructions entre le if et le next sont toujours exécutées, elles ne sont pas contrôlées par le if
- il faut éviter d'utiliser select, activate, copy, paste dans des macros
Essaie ceci (non testé) :
For i = 1 To 20 If Cells(i, 1).Value = "Oui" Then Cells(i, 4) = cells(i+2,2) end if Next i
Ça fonctionne!
Ma macro était du rapiéçage d'une macro créée manuellement (enregistrer macro) et d'informations trouvées en ligne...
Mais pourquoi il faut éviter les « select, activate, copy, paste » dans les macro?
C'est pourtant ce que le logiciel écrit automatiquement quand on enregistre une macro...
Pour le logiciel, cela ne pose pas de problème, sinon qu'il passe un peu de temps à faire du travail inutile, à changer ce qui est affiché.
Et tout l'art, c'est de profiter des macros enregistrées automatiquement pour en faire quelque chose de bien, :-)
il y a deux syntaxes possibles :
une seule instruction controlée par le if :
un ensemble d'instructions (0, 1, 2, ...) :
c'est plus prudent d'utiliser la deuxième syntaxe, c'est plus clair si on passe de une à plusieurs instructions...
Ce qui me manquait, c'était de simplifier le copy-paste, etc. en appelant simplement la valeur d'une cellule dans une autre cellule, comme on le fait simplement dans une feuille de calcul, mais je n'avais pas pensé le faire en VBA.
Vous avez sûrement constaté que je suis tout à fait novice en VBA!!!
Merci énormément!