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 :

Copie d'une image pixel art [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut Copie d'une image pixel art
    Bonjour,
    je dispose d'une feuille de mon classeur contenant des cellules coloriées et dimensionnées à un certain format formant ainsi une image.

    j'aimerais avoir le loisir de stocker les informations de la construction de l'image, pour cela 2 étapes:

    1- Stocker le formatage de la hauteur des lignes et de la largeur des colonnes (plutôt simple)

    2- Stocker la position et la couleur enregistrée de chaque cellule coloriée


    pour le 2 - ce que j'essaie de mettre en œuvre est une collection d'objet de type "Range" (contenant donc la couleur de la cellule) que je retranscrit dans un onglet, colonnes A, B et C contenant respectivement la ligne de la cellule , la colonne de la cellule et la couleur de la cellule

    Voici mes questions:

    1 - est-ce que ma solution est adaptée à mon problème?

    2 - comment récupérer les trois valeurs de chaqu'un de mes objets une fois stocké?

    je vous joins le code que j'essaie de faire tourner en vain (ici je tente de récupérer la position et la couleur d' une seule cellule parmi d'autres):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Dim rangeCol As New Collection
     
    Sub remplir_collection()
        For Each cels In Sheets("Ecran_principal").range("A1:KR120")
            rangeCol.Add (cels)
        Next cels
        Sheets("Indicateurs").range("A1").Value = rangeCol.Item(35).Row
        Sheets("Indicateurs").range("B1").Value = rangeCol.Item(35).columnn
        Sheets("Indicateurs").range("C1").Value = rangeCol.Item(35).Font.color
    End Sub
    le déroulement s'arrête sur la ligne
    Sheets("Indicateurs").range("A1").Value = rangeCol.Item(35).Rowet en message j'ai "Objet requis"
    je ne comprend pas vraiment ce qu'il se passe. merci de bien vouloir m'aider.

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut heu
    bonjour

    non ce n'est pas bon

    rangecol est une colection
    il n'a pas de propriété .column ou row ect....

    essai avec un tableau a plusieur colonnes
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  3. #3
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    d'ailleur il n'est peut etre pas necessaire de memoriser la ligne et la colonne séparément
    on peut enregistrer l'adresse de chaque cellule par exemple

    tiens voila un exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub remplir_collection()
     Dim tablo(20000, 1) As Variant 'voici un tablo de 20000 ligne a 2 colonnes 1 etant la colonne 2 du tablo ( a retenir!!! )
    Dim i As Long
       Sheets("Indicateurs").Columns("A:B").ClearContents 'on efface si il y a deja des données dans les colonnes A et B
        For Each cels In Sheets("Ecran_principal").Range("A1:KR120")'
           i = i + 1
            tablo(i, 0) = cels.Address 'la colonne 0 etant la premiere colonne d'un tablo ( a retenir
        tablo(i, 1) = cels.Font.Color
           Next cels
            'la variable (tablo) contient maintenant toutes les adresse de cellule de ta plage de reference
            Sheets("Indicateurs").Range("A1:b" & UBound(tablo)).Value = tablo
     
    End Sub
    au plaisir
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  4. #4
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    105
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 105
    Par défaut
    en effet, merci de ta réponse. je vais prendre ce que tu m'as donné.
    bonnes fêtes

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

Discussions similaires

  1. [WD-2003] Protéger la copie d'une image
    Par formabox dans le forum VBA Word
    Réponses: 15
    Dernier message: 22/04/2009, 20h21
  2. Copie d'une image en SDL et OpenGL
    Par matteli dans le forum API graphiques
    Réponses: 9
    Dernier message: 15/04/2008, 14h32
  3. Réponses: 3
    Dernier message: 13/02/2008, 08h17
  4. [ImageMagick] Parcourir une image pixel par pixel
    Par kip dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 05/10/2005, 14h10
  5. Empecher la copie d'une image
    Par bouassouille dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 30/11/2004, 08h39

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