Blocage sur macro
Résolu
kazede
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Mon problème est le suivant:
Aujourd'hui la macro va scanner une colonne précise sur une feuille2 pour vérifier si une valeur de la feuille 1 est bien présente dans cette colonne. Si c'est le cas, la macro prend certaines cellules sur la ligne où la valeur de la feuille 2 est trouvée, pour les copier en feuille 1.
Seulement voila, la macro aujourd'hui ne copie que les valeurs des cellules, hors j'ai besoin qu'elle copie également la mise en forme des cellules (couleurs, bordures, etc). Comment m'y prendre? Voici la macro (faite par michel_m, membre du forum).
Merci d'avance.
Mon problème est le suivant:
Aujourd'hui la macro va scanner une colonne précise sur une feuille2 pour vérifier si une valeur de la feuille 1 est bien présente dans cette colonne. Si c'est le cas, la macro prend certaines cellules sur la ligne où la valeur de la feuille 2 est trouvée, pour les copier en feuille 1.
Seulement voila, la macro aujourd'hui ne copie que les valeurs des cellules, hors j'ai besoin qu'elle copie également la mise en forme des cellules (couleurs, bordures, etc). Comment m'y prendre? Voici la macro (faite par michel_m, membre du forum).
Sub comparer() Dim cellule As Range Dim lig As Long, ligne As Long 'fige le défilement de l'écran Application.ScreenUpdating = False With Sheets("tableau de suivi") For Each cellule In .Range("BG9:BG265") 'utilisation d'une fonction feuille Excel NB.SI --> si la valeur de la cellule est dans la colonneAZ de "tableau de suivi 2" If Application.CountIf(Sheets("tableau de suivi 2").Columns("AZ"), cellule) > 0 Then 'trouve la ligne dans "tableau de suivi 2" lig = Sheets("tableau de suivi 2").Columns("AZ").Find(cellule, Range("AZ1"), xlValues).Row 'ligne de la cellule en cours dans "tableau de suivi" ligne = cellule.Row 'reporte les valeurs tableau de suivi 2 vers tableau de suivi 1 .Range("BH" & ligne & ":CB" & ligne).Value = Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).Value End If Next End With End Sub
Merci d'avance.
A voir également:
- Blocage sur macro
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Jitbit macro recorder - Télécharger - Confidentialité
- Blocage messenger - Guide
- Télécharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Blocage leboncoin ✓ - Forum Services en ligne
8 réponses
Bonjour,
Pourrait y avoir une erreur, faudra alors séparer les actions.
Tu dis
A+
Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).copy .Range("BH" & ligne)
Pourrait y avoir une erreur, faudra alors séparer les actions.
Tu dis
A+
Bonjour Michel, le pasteSpecial ne fonctionne pas en direct avec copy.
Mais tu à raison, faire en deux fois mais avec une petite inversion.
Tu dis, si ça ne va pas j'ai encore une autre solution.
Mais tu à raison, faire en deux fois mais avec une petite inversion.
Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).copy .Range("BH" & ligne) .Range("BH" & ligne & ":CB" & ligne).Value = Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).Value
Tu dis, si ça ne va pas j'ai encore une autre solution.
Bonjour,
le pasteSpecial ne fonctionne pas en direct avec copy.
pourtant, essaies cette démo tirée de mon grenier
https://www.cjoint.com/?0czmKZaiBuT
Bon après midi
le pasteSpecial ne fonctionne pas en direct avec copy.
pourtant, essaies cette démo tirée de mon grenier
https://www.cjoint.com/?0czmKZaiBuT
Bon après midi
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Les cellules que tu copie.. c'est des formules ?
Il y a des formules dans une partie de la plage des cellules que je copie, mais si elle ne sont pas la, ce n'est pas important. Le plus important est la conservation d'un code couleur sur certaines cellules nécéssaire à la compréhension de mon document.
La copie des formats est conforme ?
Non, avant ta modification , je copiais uniquement la valeur des cellules, et avec ta modification, j'ai "VRAI" affiché partout où je devrais avoir mes valeurs et ma mise en forme.
Je perds donc l'affichage des valeurs.
Merci.
Il y a des formules dans une partie de la plage des cellules que je copie, mais si elle ne sont pas la, ce n'est pas important. Le plus important est la conservation d'un code couleur sur certaines cellules nécéssaire à la compréhension de mon document.
La copie des formats est conforme ?
Non, avant ta modification , je copiais uniquement la valeur des cellules, et avec ta modification, j'ai "VRAI" affiché partout où je devrais avoir mes valeurs et ma mise en forme.
Je perds donc l'affichage des valeurs.
Merci.
Donc en 2 fois comme l'a dit Lermite
en 1° ligne tu peux aussi prendre la solution de lermite
Michel
.Range("BH" & ligne & ":CB" & ligne).Value = Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).Value Sheets("tableau de suivi 2").Range("BA" & lig & ":BV" & lig).Copy Range("BH" & ligne).PasteSpecial Paste:=xlPasteFormats non testé...
en 1° ligne tu peux aussi prendre la solution de lermite
Michel