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

Microsoft 365 Copier sous condition format cellule autre feuille dans cellule feuille active

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un bon WE

Bon sang de bon sang !
Je bute sur un code que j'ai du faire dans le passé et que je ne retrouve plus Grrr !
J'ai besoin de copier sous condition la valeur d'une autre feuille "inactive" dans une cellule de ma feuille "active".
J'ai tenté un tas de codes et fait des recherches sur internet sans trouver le bon code.
J'en suis à :
VB:
 If Sheets("Table").Range(ActiveCell.Offset(0, 1)) = "Rappels" Then
    ActiveCell.Offset(0, 1).Interior.Color = RGB(255, 255, 204)
        With ActiveCell.Font
        .ColorIndex = xlAutomatic
        .Bold = True
    End With
End If
Et ça ne fonctionne pas
Auriez-vous le bon code ?
Je vous remercie comme d'habitude lol,
Amicalement,
lionel,
 
Solution
Oui j'avais mal lu alors utilise ce fichier (2) :
VB:
Sub format()
Dim F As Object
Set F = ActiveSheet
Application.ScreenUpdating = False
Sheets("Table").Activate 'active la feuille
If ActiveCell.Offset(, 1).Text = "Rappels" Then
    F.Activate 'retour à la feuille du bouton
    With ActiveCell.Offset(, 1)
        .Interior.Color = RGB(255, 255, 204)
        With .Font
            .ColorIndex = xlAutomatic
            .Bold = True
        End With
    End With
End If
End Sub

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Juste une question en passant : on a le droit d'utiliser "ActiveCell" pour référencer une cellule d'une autre feuille que la feuille active ???
Ça donne quoi ActiveCell.Adress d'une feuille non active ?


En ce week-end ensoleillé, explose-toi bien ma petite usine à gaz !
 

TooFatBoy

XLDnaute Barbatruc
J'ai aussi tenté "ActiveCell.Adress d'une feuille non active" ... ça ne fonctionne pas non plus
Ou je n'ai pas su le coder comme il faut.
C'était une vraie question de ma part : que renvoie comme résultat ActiveCell.Adress pour une feuille non active ?

ActiveCell fait, me semble-t-il, référence à la cellule active (d'où son nom ), de la feuille active.
Donc quand on utilise ActiveCell en faisant référence à une autre feuille que la feuille active, ça référence quelle cellule en réalité ???
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Bonjour,

le code :
VB:
Sub format()
'If Sheets("Table").Range(ActiveCell.Offset(0, 1)) = "Rappels" Then
    If Sheets("Table").Address.Offset(0, 1) = "Rappels" Then
    ActiveCell.Offset(0, 1).Interior.Color = RGB(255, 255, 204)
        With ActiveCell.Font
        .ColorIndex = xlAutomatic
        .Bold = True
    End With
    End If
'End If
End Sub
Renvoie une erreur :

lionel
 

job75

XLDnaute Barbatruc
Bonjour Lionel, Marcel32,

Il n'existe qu'une ActiveCell : la cellule active de la feuille active.

Le code n'étant pas du tout clair précise quelle(s) cellule(s) il faut modifier.

A+
 

job75

XLDnaute Barbatruc
Pour trouver la cellule active de la feuille "Table" il faut activer cette feuille :
VB:
Sub format()
Dim F As Object
Set F = ActiveSheet
Application.ScreenUpdating = False
Sheets("Table").Activate 'active la feuille
With ActiveCell.Offset(, 1)
    If .Text = "Rappels" Then
        .Interior.Color = RGB(255, 255, 204)
        With .Font
            .ColorIndex = xlAutomatic
            .Bold = True
        End With
    End If
End With
F.Activate 'retour à la feuille du bouton
End Sub
 

Pièces jointes

  • test(1).xlsm
    19.2 KB · Affichages: 3

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Gérard,
Merci pour le fichier
Mais j'ai du mal m'expliquer (encore une fois lol)

C'est la cellule active à droite de la cellule active de la Feuille active (Feuile1) qu'il faudrait mettre en jaune si la cellule à droite de la cellule active de la Feuille "Table" contient "Rappels"
lionel
 

job75

XLDnaute Barbatruc
Oui j'avais mal lu alors utilise ce fichier (2) :
VB:
Sub format()
Dim F As Object
Set F = ActiveSheet
Application.ScreenUpdating = False
Sheets("Table").Activate 'active la feuille
If ActiveCell.Offset(, 1).Text = "Rappels" Then
    F.Activate 'retour à la feuille du bouton
    With ActiveCell.Offset(, 1)
        .Interior.Color = RGB(255, 255, 204)
        With .Font
            .ColorIndex = xlAutomatic
            .Bold = True
        End With
    End With
End If
End Sub
 

Pièces jointes

  • test(2).xlsm
    19.3 KB · Affichages: 5

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Re-Gérard,

Evidemment (quand j'arrive à bien expliquer) ... ça marche super bien lol,
Encore un gros merci à toi
Mon erreur était que j'ai tenté (j'y suis depuis ce matin) de faire un code sans activer la feuille "Table" mais apparemment c'est pas possible.
Merci Gérard,
Bon WE,
lionel
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…