Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion: Transposer un code Excel vers Calc [OpenOffice][Tableur]

  1. #1
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 248
    Points : 142
    Points
    142

    Par défaut Transposer un code Excel vers Calc

    Bonjour à tous,
    Je rencontre un souci de "débutant" sous OpenOffice.
    Sous Excel j'utilise un simple code afin de détecter une sélection dans une liste déroulante et de modifier la couleur d'une plage donnée, mais je n'arrive pas à le transposer sous Calc.

    Pourriez vous me donner un coup de main ?

    Voici mon code Excel

    Code vba : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Cells(Target.Row, 2) = "PI" Then
        Range("A" & Target.Row & ":L" & Target.Row).Interior.Color = RGB(255, 0, 0)
     
    ElseIf Cells(Target.Row, 2) = "A RAP" Then
        Range("A" & Target.Row & ":L" & Target.Row).Interior.Color = RGB(255, 128, 100)
     
    ElseIf Cells(Target.Row, 2) = "RDV" Then
        Range("A" & Target.Row & ":L" & Target.Row).Interior.Color = RGB(0, 255, 0)
     
    Else
    Range("A" & Target.Row & ":L" & Target.Row).Interior.Color = RGB(255, 255, 255)
     
    End If
     
    With Range("A" & Target.Row & ":L" & Target.Row)
        .Borders.LineStyle = xlContinuous
        .Borders.ColorIndex = 15
    End With
     
    End Sub

    D'avance merci
    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

  2. #2
    Membre chevronné
    Avatar de Bidouille
    Inscrit en
    mars 2003
    Messages
    1 197
    Détails du profil
    Informations forums :
    Inscription : mars 2003
    Messages : 1 197
    Points : 1 854
    Points
    1 854

    Par défaut

    Il n'y a pas besoin de macro pour faire cela.
    On passe par le formatage conditionnel.
    Rédacteur PHP / Delphi ADO / Novell / OpenOffice.org

    Inutile de m'envoyer vos questions par MP, je ne réponds que par le forum.

  3. #3
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 248
    Points : 142
    Points
    142

    Par défaut

    Bonjour et merci de ta réponse,
    Mais par le formatage conditionnel comment faire pour mettre une série de cellule en fond rouge.
    Ex sur ma 1ere condition en fonction de la cellule ciblée je change le fond sur une série de cellule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    If Cells(Target.Row, 2) = "PI" Then
        Range("A" & Target.Row & ":L" & Target.Row).Interior.Color = RGB(255, 0, 0)
    Cdt,
    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

  4. #4
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 248
    Points : 142
    Points
    142

    Par défaut

    Salut,
    Est ce qu'une personne aurait la réponse ?
    D'avance merci

    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

  5. #5
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    octobre 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : octobre 2016
    Messages : 38
    Points : 60
    Points
    60

    Par défaut

    Bonjour texas2607

    Si tu joignais un fichier exemple avec des explications sur le résultat attendu, ça multiplierait tes chances d'obtenir une réponse pertinente.

    a+

  6. #6
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 248
    Points : 142
    Points
    142

    Par défaut

    Bonsoir,
    En fait l'explication est simple. J'ai des données qui vont des colonnes A à L, en fonction de la valeur sélectionnée dans une liste déroulante en colonne B je dois colorer la ligne complète.
    Ex :
    Si on sélectionne dans la liste déroulante "PI" en B2 alors la ligne de A2 à L2 doit être en fond rouge,
    Si on sélectionne "ZR" en B5 alors la ligne de A5 à L5 doit se colorer en fond bleu.... Etc

    Je suis sur ma tablette et sans mon fichier exemple, si besoin je peut mettre mon fichier Excel en exemple demain.

    Cdt,
    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

  7. #7
    Membre du Club
    Homme Profil pro
    Chef d'entreprise
    Inscrit en
    octobre 2016
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef d'entreprise

    Informations forums :
    Inscription : octobre 2016
    Messages : 38
    Points : 60
    Points
    60

    Par défaut

    Dans le fichier joint, sélectionne une entrée au choix dans la liste déroulante colonne B puis une autre sur une ligne différente ou la même ligne.
    Pour comprendre, menu Format=>Formatage conditionnel.
    Soit attentif au type d'adressage relatif ou absolu donné aux références de la colonne B

    Texas2607.ods

    a+

  8. #8
    Membre habitué Avatar de texas2607
    Homme Profil pro
    Inscrit en
    juillet 2006
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : juillet 2006
    Messages : 248
    Points : 142
    Points
    142

    Par défaut

    Salut,
    Merci énormément pour ta réponse. C'est exactement ça

    Cdt,
    Fred
    Loi des Évolutions synchronisées : Les logiciels deviennent de plus en plus lent, et ceci plus vite que le hardware ne devient plus rapide.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [LibreOffice][Tableur] Conversion d'un fichier excel vers Calc
    Par taktin dans le forum OpenOffice & LibreOffice
    Réponses: 1
    Dernier message: 07/04/2017, 15h17
  2. [LibreOffice][Tableur] Formule excel vers calc
    Par débitant dans le forum OpenOffice & LibreOffice
    Réponses: 8
    Dernier message: 07/06/2014, 21h01
  3. [XL-2003] Amélioration Code Excel vers Lotus Notes 6.5
    Par chyanon dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 28/03/2011, 19h48
  4. Transposer une matrice (Excel) vers une table (Oracle) - Talend TOS 4.0.2
    Par Snimo dans le forum Développement de jobs
    Réponses: 6
    Dernier message: 11/03/2011, 14h06
  5. [debutant] comment transposer mon code vba excel en access
    Par eclipse012 dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/02/2008, 08h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo