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 :

Problème de tableau a une seule cellule.


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Par défaut Problème de tableau a une seule cellule.
    Bonjour,

    j'ai écrit ce code (avec votre aide):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     If Source <> "" Then  --> Source est de type: "Feuil1!$A$8"
     
       Set T = Range(Replace(Source.Value, ";", ","))
     
     End If
     
    MsgBox ("coucou" & UBound(T, 2))
    Cependant lorsqu'il n'y a qu'une valeur de selectionnée je me retrouve avec un message d'erreur, comment puis je faire pour que cela marche? Car j'ai besoin de la taille de la selection.

    Merci.

  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
    Par défaut
    Qu'entends-tu par
    Cependant lorsqu'il n'y a qu'une valeur de selectionnée je me retrouve avec un message d'erreur, comment puis je faire pour que cela marche? Car j'ai besoin de la taille de la selection

    ... de la taille du tableau ? Sur quelle ligne, l'erreur ?
    Donne-nous un exemple de valeur de "source"

    A+

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Par défaut
    J'ai une erreur d'execution 13. Incompatibilité de type.

    Je voudrais pouvoir récupérer le nombre de ligne et de colonne du tableau T.

    La selection de source se fait avec un refedit et pose problème lorsqu'une seule cellule est selectionnée.

    Source = "Feuil1!$A$8"

    Merci de ton 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
    Par défaut
    Je n'ai pas replace (vba97) mais pour le reste, tu as un pb dans ton code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Source = Range("Feuil1!$A$8").Address
    If Source <> "" Then
        Valeur = Range(Source).Value
        'Set T = Replace(Valeur, ";", ",")
    End If
     
    MsgBox ("coucou" & UBound(T, 2))
    Sinon, tu dois instancier Source pour pouvoir dire "Source = Range("Feuil1!$A$8")
    Tu dis

    A+

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Par défaut
    En fait source c'est le nom de mon refedit, donc je ne m'en occupe pas, mon code marche sauf si je ne selectionne qu'une seule case. J'ai l'impression que lorsqu'il n'y a qu'une case il ne le considere plus comme un tableau!!!
    Je voudrais pouvoir savoir que mon tableau est de taille (1,1)!!!
    Merci de ton aide.

  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
    Par défaut
    Alors tu devras dimensionner ton tableau au départ, analyser les valeurs de ta cellule dans une boucle en fonction du nombre de ";" et redimensionner pour chacun d'eux avec redim preserve.
    Je n'ai jamais entendu parler d'un code permettant d'avoir un tableau à deux dimensions avec ta syntaxe Mais si ça existe, je serai ravi d'apprendre

    Bonne chance

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par Chouls
    Bonjour,

    j'ai écrit ce code (avec votre aide):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     If Source <> "" Then  --> Source est de type: "Feuil1!$A$8"
     
       Set T = Range(Replace(Source.Value, ";", ","))
     
     End If
     
    MsgBox ("coucou" & UBound(T, 2))
    Cependant lorsqu'il n'y a qu'une valeur de selectionnée je me retrouve avec un message d'erreur, comment puis je faire pour que cela marche? Car j'ai besoin de la taille de la selection.

    Merci.
    ben si je regarde ton code T n'est pas un tableau mais un range... , utilise les propriétés d'un range !!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox t.Rows.Count & " --- " &  t.Columns.Count

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 13
    Par défaut
    Je n'ai tojours pas trouvé de réponse "simple", j'ai bidouillé quelque chose qui marche mais ce n'est pas forcément génial.

    Merci de votre aide.

  9. #9
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Par défaut
    Plutôt que de passer par un tableau, je te conseille d'utiliser un Range.

    Petit exemple qui marche à tous les coups:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub cmdStart_Click()
      Dim rSelection As Range
      MsgBox RefEdit1.Text
      Set rSelection = Range(Replace(RefEdit1.Text, ";", ","))
      MsgBox rSelection.Count
    End Sub
    Si tu veux parcourir toutes les cellules de cette sélection:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub cmdStart_Click()
      Dim rSelection As Range
      Dim rCell As Range
      MsgBox RefEdit1.Text
      Set rSelection = Range(Replace(RefEdit1.Text, ";", ","))
      MsgBox rSelection.Count
      For Each rCell In rSelection
        MsgBox rCell.Address & ": " & rCell.Value
      Next rCell
    End Sub
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

Discussions similaires

  1. remplir tableau avec une seule instruction !
    Par tlemcenvisit dans le forum C++
    Réponses: 3
    Dernier message: 21/06/2014, 18h22
  2. TDBGRID - Couleur de fond d'une seule cellule
    Par cgo dans le forum Bases de données
    Réponses: 5
    Dernier message: 11/09/2009, 10h16
  3. Réponses: 3
    Dernier message: 22/10/2008, 21h00
  4. [JTable] Changer le contenu d'une seule cellule
    Par terminagroo dans le forum Composants
    Réponses: 7
    Dernier message: 05/07/2005, 13h50
  5. [JTable] Sélection d'une seule cellule
    Par Amara dans le forum Composants
    Réponses: 2
    Dernier message: 01/06/2005, 14h48

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