A voir également:
- Blocage sur une macro
- Macro logiciel - Télécharger - Organisation
- Blocage messenger - Guide
- Macro recorder - Télécharger - Confidentialité
- Macro Recorder - Télécharger - Divers Utilitaires
- Macro word - Guide
4 réponses
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 292
Modifié par michel_m le 22/02/2011 à 12:45
Modifié par michel_m le 22/02/2011 à 12:45
Bonjour
Ps: Je ne cherche pas une solution toute faite, j'aime apprendre, me mettre sur la voie m'aiderait tout autant.
voici une solution "toute faite": tu progresseras mieux en étudiant des solutions apportées à des problèmes que tu as du mal à résoudre. l'aide en ligne (F1) est très utile pour piger le pourquoi du comment
déjà, note que les select-selection sont bannis...
un tuto qui pourra t'aider
https://bidou.developpez.com/article/VBA/
Michel
Ps: Je ne cherche pas une solution toute faite, j'aime apprendre, me mettre sur la voie m'aiderait tout autant.
voici une solution "toute faite": tu progresseras mieux en étudiant des solutions apportées à des problèmes que tu as du mal à résoudre. l'aide en ligne (F1) est très utile pour piger le pourquoi du comment
Option Explicit
Sub comparer()
Dim cellule As Range
Dim lig As Byte, ligne As Byte
'fige le défilement de l'écran
Application.ScreenUpdating = False
With Sheets("essai")
For Each cellule In .Range("A2:A20")
'utilisation d'une fonction feuille Excel NB.SI --> si la valeur de la cellule est dans la colonneA de "test"
If Application.CountIf(Sheets("test").Columns("A"), cellule) > 0 Then
'trouve la ligne dans "test"
lig = Sheets("test").Columns("A").Find(cellule, Range("A1"), xlValues).Row
'ligne de la cellule en cours dans "essais"
ligne = cellule.Row
'reporte les valeurs test vers essai
.Range("H" & ligne & ":Z" & ligne).Value = Sheets("test").Range("H" & lig & ":Z" & lig).Value
End If
Next
End With
End Sub
déjà, note que les select-selection sont bannis...
un tuto qui pourra t'aider
https://bidou.developpez.com/article/VBA/
Michel
mic13710
Messages postés
1088
Date d'inscription
samedi 26 novembre 2005
Statut
Membre
Dernière intervention
13 mai 2021
352
22 févr. 2011 à 09:27
22 févr. 2011 à 09:27
Donc finalement, vous n'avez plus besoin d'aide ?
Michel
Michel
Si.
Je m'aperçois que quand la valeur de ma feuille 1 que j'ai mise dans la variable donnee1 n'est pas présente dans la feuille 2, la macro fait une erreur, et ne termine pas son travail...
Un moyen de gèrer les valeurs non trouvées? Par exemple si donnee1 non trouvée dans la feuille 2, ne rien faire et passer à la valeur de donnee1 suivante.
Je bloque un peu la...
Si quelqu'un voit comment simplifier la macro aussi, je veux bien un coup de main.
Merci.
Je m'aperçois que quand la valeur de ma feuille 1 que j'ai mise dans la variable donnee1 n'est pas présente dans la feuille 2, la macro fait une erreur, et ne termine pas son travail...
Un moyen de gèrer les valeurs non trouvées? Par exemple si donnee1 non trouvée dans la feuille 2, ne rien faire et passer à la valeur de donnee1 suivante.
Je bloque un peu la...
Si quelqu'un voit comment simplifier la macro aussi, je veux bien un coup de main.
Merci.
Merci Michel_m,
C'est vrai que d'analyser quelque chose de bien programmé apporte plus qu'un programme fait soit même mais très brouillon. C'est vraiment très propre et cela correspond parfaitement à mes attentes.
Je note ta remarque pour les select-selection.
Ok pour le tuto, j'y vais de ce pas.
Encore merci.
Edit: Dis moi, comment faire pour mettre en évidence les lignes de la feuille 2 qui n'ont pas été copiées dans la feuille 1??
Comment pourrais-je les faire ressortir par exemple en supprimant de la feuille 2 celles qui ont été copiées?
C'est vrai que d'analyser quelque chose de bien programmé apporte plus qu'un programme fait soit même mais très brouillon. C'est vraiment très propre et cela correspond parfaitement à mes attentes.
Je note ta remarque pour les select-selection.
Ok pour le tuto, j'y vais de ce pas.
Encore merci.
Edit: Dis moi, comment faire pour mettre en évidence les lignes de la feuille 2 qui n'ont pas été copiées dans la feuille 1??
Comment pourrais-je les faire ressortir par exemple en supprimant de la feuille 2 celles qui ont été copiées?
michel_m
Messages postés
16593
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
23 mars 2023
3 292
22 févr. 2011 à 13:43
22 févr. 2011 à 13:43
comment pourrais-je les faire ressortir par exemple en supprimant de la feuille 2 celles qui ont été copiées?
bin tu connais la ligne et la colonne donc... je te laisse chercher
et à la fin si tu veux supprimer les "trous" sans faire de boucle regarde avec l'enregistreur de macro du coté de "atteindre-cellules" puis de supprimer
bin tu connais la ligne et la colonne donc... je te laisse chercher
et à la fin si tu veux supprimer les "trous" sans faire de boucle regarde avec l'enregistreur de macro du coté de "atteindre-cellules" puis de supprimer
Je pense avoir trouvé.
Il reste cependant une petite chose à voir, la copie des cellules copie uniquement les valeurs de la plage de cellule, j'aimerais également que la macro copie la mise en forme (texte, couleur, bordure etc). Comment m'y prendre?
Je pense qu'il faut remplacer sur la ligne :
J'ai essayé de remplacer value par Cells, mais sa ne marche pas. Je cherche autre chose...
Ps: ton post avec ta macro a été supprimé ? elle ne s'affiche plus...
Il reste cependant une petite chose à voir, la copie des cellules copie uniquement les valeurs de la plage de cellule, j'aimerais également que la macro copie la mise en forme (texte, couleur, bordure etc). Comment m'y prendre?
Je pense qu'il faut remplacer sur la ligne :
.Range("BH" & ligne & ":CB" & ligne).Value = Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).Value
J'ai essayé de remplacer value par Cells, mais sa ne marche pas. Je cherche autre chose...
Ps: ton post avec ta macro a été supprimé ? elle ne s'affiche plus...