XL 2019 Deplacer un cercle au dessus d'une cellule cible

  • Initiateur de la discussion Initiateur de la discussion carlos
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Solution
Bonjour à tous 🙂,

Deux versions :
  • v1 => on clique sur le bouton
  • v2 => pas de bouton, dès que la valeur de K2 change, on exécute la procédure
Si le nombre en K2 n'est pas trouvé dans la table alors on entoure la cellule K2.

Les codes (pour v1 et aussi pour v2) sont dans le module de code associé à la feuille de calcul "Feuil1".

code pour v1 :
VB:
Private Sub CommandButton1_Click()
Dim xcell As Range, X, Y, Haut, larg
   On Error Resume Next
   Set xcell = Range("b2:g7").Find(Range("k2"), LookIn:=xlValues, Lookat:=xlWhole)
   On Error GoTo 0
   If xcell Is Nothing Then Set xcell = Range("k2")
   With Me.Shapes("Donut 2")
      .Left = xcell.Left + (xcell.Width - .Width) / 2
      .Top = xcell.Top + (xcell.Height -...
Bonjour,
pas tout à fait ce qui est demandé,
mais peut-être une piste ou une solution à la demande

VB:
Private Sub CommandButton1_Click()

Dim plage As Range

Set plage = Worksheets("feuil1").Range("B2:G7")
numero = Range("K2").Value
 
Worksheets("feuil1").Range("B2:G7").Interior.ColorIndex = 2

    For Each Cell In plage
    If Cell.Value = numero Then
    Cell.Interior.ColorIndex = 3
    End If
    
Next Cell

End Sub
 

Pièces jointes

Bonjour à tous 🙂,

Deux versions :
  • v1 => on clique sur le bouton
  • v2 => pas de bouton, dès que la valeur de K2 change, on exécute la procédure
Si le nombre en K2 n'est pas trouvé dans la table alors on entoure la cellule K2.

Les codes (pour v1 et aussi pour v2) sont dans le module de code associé à la feuille de calcul "Feuil1".

code pour v1 :
VB:
Private Sub CommandButton1_Click()
Dim xcell As Range, X, Y, Haut, larg
   On Error Resume Next
   Set xcell = Range("b2:g7").Find(Range("k2"), LookIn:=xlValues, Lookat:=xlWhole)
   On Error GoTo 0
   If xcell Is Nothing Then Set xcell = Range("k2")
   With Me.Shapes("Donut 2")
      .Left = xcell.Left + (xcell.Width - .Width) / 2
      .Top = xcell.Top + (xcell.Height - .Height) / 2
   End With
End Sub

nota : votre forme s'appelle Donut 2 (nom anglais) correspondant à votre nom français "Cercle : creux 2". Franchement, il y a des traductions qu'on aurait mieux fait d'omettre ! Je me vois bien demander dans une boulangerie "auriez-vous un petit cercle creux au chocolat" 🤪!
 

Pièces jointes

Dernière édition:
bonjour
et moi a nauroto demander des ronds creux en caoutchouc rempli d'air pour ma voiture

c'est vrai que il faut faire attention avec la traduction en vba
perso je ne m'ennuie pas avec ça
quand on renomme la shape on peut utiliser le nom qu'on lui a donné 😉
jamais je laisse les noms d'origine
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
5
Affichages
500
  • Question Question
Réponses
2
Affichages
405
Réponses
2
Affichages
60
  • Question Question
Microsoft 365 jeux icone
Réponses
4
Affichages
398
Retour