IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Macros et VBA Excel Discussion :

Récupérer, calculer et découper une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut Récupérer, calculer et découper une cellule
    Bonjour,

    J ai une cellule qui contient des chiffres (jusqu a 7 chiffres differents):chaque chiffre correspond a une jour de la semaine.

    1 pour lundi
    2 pour mardi
    3 pour mercredi
    ...
    etc
    (par exemple, si j ai 1234567 cela veut dire tous les jours de la semaine)


    J ai besoin de recuperer le contenu de cette cellule puis d en calculer la taille.
    Enfin, je dois decouper ce contenu caractere par caractere...

    Tout ceci ne m est pas tres familier...
    pourriez vous m aider svp ??

    merci d avance

  2. #2
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as essayé quelque chose ? Si ça ne fonctionne pas, montre nous, aie pas de complexe, on a tout vu !
    Pour la taille utilise Len -> F1
    Pour découper utilises Mid -> F1
    Pour lire la cellule
    Donnee = Cells(NoLigne, NoColonne).Text
    Bonne journée

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    Code : 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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    Sub decoupage()
    
            Dim MyDate As Date
            Dim MyDay(7) As String
            Dim Donnee As String
            
            MyDay(1) = "Monday"
            MyDay(2) = "Tuesday"
            MyDay(3) = "Wednesday"
            MyDay(4) = "Thrusday"
            MyDay(5) = "Friday"
            MyDay(6) = "Saturday"
            MyDay(7) = "Sunday"
                   
            Donnee = Cells(24, 22).Text  'Donnee=123457        
                MyLen = Len(Donnee)   'MyLen=6
                
            For i = 1 To MyLen
            
                If Mid(Donnee, i, 1) = "1" Then
                    Mid(Donnee, i, 1) = MyDay(1)
                End If
                If Mid(Donnee, i, 1) = "2" Then
                    Mid(Donnee, i, 1) = MyDay(2)
                End If
                If Mid(Donnee, i, 1) = "3" Then
                    Mid(Donnee, i, 1) = MyDay(3)
                End If
                If Mid(Donnee, i, 1) = "4" Then
                    Mid(Donnee, i, 1) = MyDay(4)
                End If
                If Mid(Donnee, i, 1) = "5" Then
                    Mid(Donnee, i, 1) = MyDay(5)
                End If
                If Mid(Donnee, i, 1) = "6" Then
                    Mid(Donnee, i, 1) = MyDay(6)
                End If
                If Mid(Donnee, i, 1) = "7" Then
                    Mid(Donnee, i, 1) = MyDay(7)
                End If
                
            Next i
                
    End Sub
    J obtient Donnee=MTWTFS...

    et je veux une liste
    Monday
    Tuesday
    Wednesday
    Thrusday
    Friday
    Sunday
    ...

    Le but est de comparer la date d aujourd hui avec les donnees de cette cellule...

    Merci pour votre aide

  4. #4
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Déjà, il faut savoir que par défaut, le premier jour de la semaine est le Dimanche. Après, ça coule de source
    Code : 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
            MyDay(1) = "Sunday"
            MyDay(2) = "Monday"
            MyDay(3) = "Tuesday"
            MyDay(4) = "Wednesday"
            MyDay(5) = "Thrusday"
            MyDay(6) = "Friday"
            MyDay(7) = "Saturday"
            d = Weekday(Now)
            'Donnee = Cells(24, 22).Text  '
            Donnee = 124567
            For i = 1 To Len(Donnee)
                If d = i Then 
                    MsgBox MyDay(i)
                    exit for 'pas impératif mais comme il est inutile de poursuivre la boucle, j'aime mieux sortir
                endif
            Next
    Bon app

    PS - Si tu travailles sur une version anglaise d'Excel, ton tableau n'est pas utile.
    Tu dis

    Re : Corrige Thrusday

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    merci infiniment

    est ce que ce code est aussi valide sur Access ???

    (desolee pour les fautes d anglais...)

  6. #6
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Placée dans un module dans VBA-Access, pas de problème.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut


    ca me dit que nous sommes "Saturday"...heuuuuuuuuuuu c est bien samedi ca !!!
    lol
    je cherche....c est le "If d=i" qui pose probleme je pense

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    Et voila la reponse...
    Code : 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
    23
    24
    25
    26
     
     
    Dim MyDay(7) As String
    Dim MyMid As String
     
    MyDay(1) = "Sunday"
    MyDay(2) = "Monday"
    MyDay(3) = "Tuesday"
    MyDay(4) = "Wednesday"
    MyDay(5) = "Thrusday"
    MyDay(6) = "Friday"
    MyDay(7) = "Saturday"
     
    d = Weekday(Now)
    'Donnee = Cells(24, 22).Text '
     
    Donnee = 124567
     
    For i = 1 To Len(Donnee)
    MyMid = Mid(Donnee, i, 1)
    If d = MyMid Then
    MsgBox MyDay(MyMid)
    End If
    Next i
     
    End Sub

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 543
    Points
    15 543
    Par défaut
    Tu as modifié le tableau comme je l'ai fait ?
    Citation Envoyé par ousk'... il a dit
    Déjà, il faut savoir que par défaut, le premier jour de la semaine est le Dimanche. Après, ça coule de source
    Autant pour moi, corrige ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
                If d = i Then MsgBox MyDay(i)
            Next

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

Discussions similaires

  1. [PHPExcel] Récupérer la valeur d'une cellule d'une autre feuille pour calcul
    Par zerdg dans le forum Bibliothèques et frameworks
    Réponses: 4
    Dernier message: 04/06/2015, 11h26
  2. [XL-2002] récupérer la valeur d'une cellule en fonction d'un calcul sur sa position
    Par marcelisa2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/10/2010, 23h00
  3. [WebForms][DataGrid] Récupérer la valeur d'une cellule...
    Par elbj dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 12/12/2005, 14h00
  4. [C#] [Automation Word] Récupérer la valeur d'une cellule
    Par Ditch dans le forum Windows Forms
    Réponses: 2
    Dernier message: 16/06/2004, 15h57
  5. Récupérer la couleur d'une cellule excel par Delphi
    Par teamsebracing dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 05/06/2003, 14h50

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