Affichage des articles dont le libellé est Excel. Afficher tous les articles
Affichage des articles dont le libellé est Excel. Afficher tous les articles

mercredi 6 juillet 2011

Mettre en forme une cellule en fonction d’une autre

 

Si l’on souhaite mettre en forme des cellules en fonction du contenu d’autres cellules, la solution n’est pas intuitive.

Sous excel 2010 (cela doit marcher avec des versions plus anciennes) la manip est la suivante :

Imaginons que je veux avoir un format conditionnel dans ma colonne A, dépendant de valeurs dans la colonne G

  1. Sélectionner la colonne A
  2. Aller dans le menu Mise en forme conditionnelle –> nouvelle règle
  3. Le type de règle est “Utiliser une formule pour déterminer pour quelles cellules le format sera appliqué”
  4. Et ensuite dans la formule, saisir par exemple [=G1=”ok”] (sans les crochets)
  5. Définir le format souhaité

Et voila!

jeudi 16 juin 2011

Dupliquer des lignes d’un fichier Excel

Imaginons un fichier excel composé de lignes du type :

Col1 Col2 Col3 Col10
Maison Adresse 1 Adresse 2 Chambre, Salon, Cuisine
Appart Adresse 3 Adresse 4  
Bateau Adresse 5 Adresse 6 Salle des machines, Plage

Cet exemple est complètement inutile, mais c’est le principe qui compte : imaginons que nous souhaitons construire des requêtes d’insertion en base, qui permettent d’insérer dans notre exemple, 6 lignes :

Maison Adresse 1 Adresse 2 Chambre
Maison Adresse 1 Adresse 2 Salon
Maison Adresse 1 Adresse 2 Cuisine
Appart Adresse 3 Adresse 4  
Bateau Adresse 5 Adresse 6 Salle des machines
Bateau Adresse 5 Adresse 6 Plage

Voici la macro magique qui va permettre de générer le tableau 2 à partir du tableau 1. Attention, on suppose que les lignes à dupliquer sont celles qui contiennent en colonne 10, des valeurs séparées par des virgules.

Sub gogoJonyGo()
Dim iligne As Integer
iligne = 2
 
 
While Cells(iligne, 1).Value <> "" And iligne < 1000
    
    If InStr(1, Cells(iligne, 10).Value, ",") > 0 Then
    
        ichar = InStr(1, Cells(iligne, 10).Value, ",")
        sgauche = Trim(Left(Cells(iligne, 10).Value, ichar - 1))
        sdroite = Trim(Right(Cells(iligne, 10).Value, Len(Cells(iligne, 10).Value) - ichar))
        Rows(iligne + 1).Select
        Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
        Rows(iligne).Select
        Selection.Copy
        Rows(iligne + 1).Select
        ActiveSheet.Paste
        Application.CutCopyMode = False
        Cells(iligne, 10) = sgauche
        Cells(iligne + 1, 10) = sdroite
    
    End If
    
    iligne = iligne + 1
Wend
   
End Sub

mardi 17 mai 2011

Avoir des + ou des–devant des nombres Excel

Dans format cellule et onglet nombre choisis ''personnalisé' dans la liste et mets cecci
[>0] +0,00%;[<0] -0,00%;Standard

vendredi 31 décembre 2010

Ajouter les pieds de page Excel

Pour ajouter des pieds de pages automatiquement à tous les onglets d'un classeur excel, utiliser la macro suivante :


Sub AjoutePiedPage()
'
' AjoutePiedPage Macro
' Macro enregistrée le 29/08/2008 par C.Mege
'

For Each page In Worksheets
With page.PageSetup
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = "&amp;""Arial Narrow,Normal""&amp;8MMV - SI - &amp;Z" &amp; Chr(10) &amp; "&amp;F - Imprimé &amp;D"
.CenterFooter = ""
.RightFooter = "&amp;""Arial Narrow,Normal""&amp;8Page &amp;P"
.PrintErrors = xlPrintErrorsDisplayed
End With
Next
End Sub



La partie "&amp;""Arial Narrow,Normal""&amp;8 permet de définir la police et la taille de celle-ci (8 points)

Les codes &amp;Z &amp;F &amp;D &amp;P correspondent à des champs mis à jour automatiquement par excel (date, nom et emplacement du fichier...)