raccourci windows lancement ssh avec commande

Cette astuce permet depuis un raccourci windows d’exécuter une commande DOS qui lancera une connexion SSH avec des commande dedans. (c’est du lourd!)

Pré-requis

  • Pouvoir lancer une commande ssh dans l’invite de commande DOS
  • Pourvoir se connecter au serveur ssh avec un certificat (sinon la connexion automatique ne marchera pas (tuto à  venir si j’ai le temps)

Continuer la lecture de « raccourci windows lancement ssh avec commande »

Macro excel liste des cellules et plages nommées d’un classeur excel

Une petite macro vraiment intéressante.

Explication  : La macro suivante liste les cellules et les plages nommées, dans l’ordre d’index des feuilles, et crée une table des matières avec liens hypertextes.

Attention à  l’exécuter sur une feuille vierge  !

Sub ListeNoms_OrdreFeuilles()
    Dim N As Name
    Dim PlageNom As Range
    Dim i As Byte
    Dim NumLigne As Byte
    Cells(1, 1) = "NAME"
    Cells(1, 2) = "VALUE"
    Cells(1, 3) = "SHEET"
    Cells(1, 4) = "ADDRESS"
    Cells(1, 5) = "LINK"
    NumLigne = 2
    On Error Resume Next
    For i = 1 To Worksheets.Count
        For Each N In Worksheets(i).Parent.Names
            Set PlageNom = Nothing
            Set PlageNom = N.RefersToRange
            If Not PlageNom Is Nothing Then
                If Worksheets(i).Index = PlageNom.Worksheet.Index Then
                    Cells(NumLigne, 1) = N.Name
                    Cells(NumLigne, 2) = N.RefersToRange.Value
                    Cells(NumLigne, 3) = N.RefersToRange.Worksheet.Name
                    Cells(NumLigne, 4) = N.RefersToRange.Address(external:=False)
                    'pour un lien relatif
                    Worksheets(1).Hyperlinks.Add Anchor:=Cells(NumLigne, 5), _
                    Address:="", SubAddress:=N.RefersToRange.Worksheet.Name + "!" + N.RefersToRange.Address(external:=False)
                    'pour un lien absolu
                    'Worksheets(1).Hyperlinks.Add Anchor:=Cells(NumLigne, 5), _
                    Address:="", SubAddress:=N.RefersToRange.Address(external:=True)
                    NumLigne = NumLigne + 1
                End If
            End If
        Next N
    Next i
End Sub


VBA : changer nom cellule de manière récursive

Petite macro VBA qui permet de changer de manière récursive le nom des cellules (le nom pas les valeurs).

Cette exemple

  • Boucle sur la première ligne A1, B2, C3 …
  • Vérifie si le contenu de ce champ
  • Si non vide, il renomme la cellule juste en dessous (A2, B2, C2 …) avec le contenu de la cellule initiale.
Sub NommerChamps()
   For Each c In Range([A1], [IV1].End(xlToLeft))
       If Not IsEmpty(c) Then
             ActiveWorkbook.Names.Add Name:=c, RefersTo:="=" & Range(c.Offset(1, 0), c.Offset(1, 0)).Address
       End If
   Next
End Sub

Nota la fonction offset(x,y) permet de se déplacer de de x,y depuis la cellule en focus.

Import et mappage de xml dans fichier excel 2010

Il est intéressant d’importer des fichiers xml dans un fichier excel pour les consulter et travailler sur leurs données.

Pour ce faire il vous faut

Voici une macro qui lié à  un bouton vous permet de mettre à  jour les données du fichier excel à  partir d’un xml qui respecte le mappage créé ci-dessus et dont l’url est connu dans par exemple  la cellule excel de votre classeur que l’on nommera « xmlUrl »

Sub updtXml()
    'pour utiliser cette fonction il faut dans un premier temps importer des mappages dans le fichier excel
    'cf doc http://msdn.microsoft.com/fr-fr/library/office/gg469857.aspx
    'recuperation url de base du xml
    xmlUrl = Range("xmlUrl").Value
    'Mise à  jour du mappage : monMappage
    'monMappage est le nom du mappage que vous avez importé dans le tuto ci-dessus
    ActiveWorkbook.XmlMaps("monMappage").Import URL:= _
    xmlUrl _

End Sub