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

decalage d'image

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

M

matsam

Guest
Bonjour,

J'ai un tableau de données dans une feuille ou je veux placer une image correspondant a un bouton quitter(une macro lui est affectée). Cette feuille de données est vidée puis remplie à chaque fois qu'on va dessus(a partir d'une autre feuille, on actualise les données en effaçant les precedentes et mettant le nouveau tableau, contenant des lignes en plus). Je ne sais pas si c'est utile de preciser mais ces données sont obtenues à partir d'une importation d'un fichier texte.
J'en arrive a mon probleme, à chaque fois que j'actualise mes données, mon bouton quitter se deplace d'une cellule.

voici le programme d'actualisation des données :

Code:
Sub actualisation()
'
' actualisation Macro
' Macro enregistrée le 22/07/2010 par matthieu.samson
'

'

Sheets("meteo").Visible = True

    
    Dim ligne_derniere_cellule_remplie As Integer
    
    Application.ScreenUpdating = False
    
    
    Sheets("meteo").Select
    
    Cells.Select
    Selection.ClearContents
    
    Range("A1").Select
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;U:\HSE\Diffusion\02_Informations et Statistiques Environnement\02_Mangegarri\méteo\meteo_actualisée.txt" _
        , Destination:=Range("A1"))
        .Name = "meteo_actualisée"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 1252
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = True
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
        Range("B1").Select
    ActiveCell.FormulaR1C1 = "Date Heure"
    Columns("C:N").Select
    Selection.Cut Destination:=Columns("D:O")
    Columns("B:B").Select
    Selection.TextToColumns Destination:=Range("B1")
        Columns("B:B").Select
    Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
        
        
    Range("A:A").Select
    Set Cellules = Range("A:A")
    ligne_derniere_cellule_remplie = Application.WorksheetFunction.Max(Cellules)
    ligne_derniere_cellule_remplie = ligne_derniere_cellule_remplie + 2
    

    'deplacer les dates a droite
    Range("B2:B" & ligne_derniere_cellule_remplie).Select
    Selection.Cut Destination:=Range("Q2:Q" & ligne_derniere_cellule_remplie)

    
    'remplacer les points par des slash
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=SUBSTITUTE(RC[15],""."",""/"")"
    Range("B2").Select
    Selection.AutoFill Destination:=Range("B2:B" & ligne_derniere_cellule_remplie), Type:=xlFillDefault
    
    'mettre une croix dans les données ou pas(elle se demultiplie avec cette methode, il faudrait la supprimer lorsqu'on quitte mais cela pose probleme)
'    Range("G3").Select
'    ActiveSheet.Pictures.Insert("D:\My Documents\croix_quitter.GIF").Select
'    Selection.OnAction = "retour_menu"
'    Selection.ShapeRange.IncrementLeft 50


    Range("A1").Select
    
    Application.ScreenUpdating = True
    
End Sub

Merci de votre aide, voici une partie de la feuille :
 

Pièces jointes

Re : decalage d'image

En fait j'imagine qu'il y a deux solutions,

soit je met le bouton quitter "en dur" et celui ci ne doit pas etre supprimé lorsque je supprime les données mais comment faire?

soit je le créée a chaque actualisation des données et dans ce cas la il faut le supprimer a la fin sinon il se dédouble ce que je n'arive pas a faire en raison des noms donnés aux images du style "figure1" , ou on ne peut pas prevoir le numero.

Y a til une autre solution ou avez vous une idée de comment faire?

Merci
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
7
Affichages
176
Réponses
18
Affichages
597
  • Question Question
Microsoft 365 CSV en EXCEL
Réponses
1
Affichages
198
Réponses
5
Affichages
910
Réponses
10
Affichages
791
Réponses
5
Affichages
718
Réponses
7
Affichages
367
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…