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

Modifier un code

  • Initiateur de la discussion Initiateur de la discussion maval
  • 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 !

maval

XLDnaute Barbatruc
Bonjour

J'ai un petit souci avec mon code ci-dessous

Code:
 Private Sub Image2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
 
With ActiveSheet
    If X < 10 Or X > Image2.Width - 10 Or Y < 10 Or Y > Image2.Height - 10 Then
         ActiveSheet.Shapes("Basse-Normandie").Fill.ForeColor.RGB = RGB(255, 255, 255)    'Couleur de fond blanc
         
         ActiveSheet.Shapes("Label5").Fill.ForeColor.RGB = RGB(255, 255, 0)    'Couleur de fond jaune
         ActiveSheet.Shapes("Label5").Visible = False
        
                    ActiveSheet.Shapes("Label2").Fill.ForeColor.RGB = RGB(255, 255, 0)    'Couleur de fond jaune
                    ActiveSheet.Shapes("Label2").Visible = False
        
    Else
    
                    ActiveSheet.Shapes("Label2").Visible = True
    
        With ActiveSheet.Shapes("Label5")
            .Visible = True
            .TextFrame2.TextRange.Characters.Text = f("Basse-Normandie")
        End With
        ActiveSheet.Shapes("Basse-Normandie").Fill.ForeColor.RGB = RGB(0, 255, 0)    'Couleur de fond vert
        

    End If
End With
End Sub
 

 
Private Function f(ByVal Str As String) As String
Dim c As Range
 
If Str <> "" Then
    Set c = Worksheets("Donnée").Range("C:C").Find(Str, LookIn:=xlValues, lookat:=xlWhole)
    If Not c Is Nothing Then
        f = c.Offset(1, 0).Value                       
        f = c.Offset(1, 1).Value
        f = c.Offset(1, 2).Value
        Set c = Nothing
    End If
End If
End Function

Au niveau
Code:
  f = c.Offset(1, 0).Value                     
            f = c.Offset(1, 1).Value
            f = c.Offset(1, 2).Value

Je n'arrive pas a rechercher les données dans les colonnes a droite de la colonne "C"

Je vous remercie d'avance

Maval
 
Re : Modifier un code

re ,🙂🙂🙂🙂
que veus tu dire par intempestif?
le but d'une classe c'est pour simplifier le code dans ton cas plus de 400 lignes de code bien sur on peut pas faire de classe sur des shapes par contre sur des images pas de pb...on peut "ruser"
regarde bien l'exemple dans module de classe tu as seulement a rajouter les shapes donc une 20ten de lignes
par contre pour chaque modif tu es oblige se relancer la macro Initialisation je l'es mis dans open ouverture fichier ect egalement dans activate sheets donc tu changes de feuille cela relance la macro tu moussemove sur user le ferme ect.. pas mis le label jaune mets facile a faire ..on en met qu'un on utilise left & top plus simple
 

Pièces jointes

Dernière édition:
- 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
905
  • Question Question
Microsoft 365 Probléme VBA
Réponses
8
Affichages
587
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…