decalage d'image

matsam

XLDnaute Nouveau
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

  • Classeur1.xls
    20 KB · Affichages: 63
  • Classeur1.xls
    20 KB · Affichages: 57
  • Classeur1.xls
    20 KB · Affichages: 53

matsam

XLDnaute Nouveau
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