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

VB.NET Discussion :

Changer données cellules Excel 2013


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut Changer données cellules Excel 2013
    Bonjour,
    Ne trouvant aucune information de ce que je veux faire sur internet, je me tourne vers le forum
    Je travaille sous Visual Studio 2013 et je souhaite pouvoir modifier les données contenues dans des cellules d'une feuille excel en sachant que je prends en compte différents plages de cellules en même temps
    Par exemple, je dois prendre ces plages là en même temps :
    - A2:C3
    - E5:G30
    - E1

    Pour le moment, j'ai comme code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim xlWorkSheet As Excel.Worksheet
    Dim xlWorkBook As Excel.Workbook
    Dim xlCells As Excel.Range
    Dim i As Long
    Dim j As Long
     
    xlWorkBook = Globals.ThisAddIn.Application.ActiveWorkbook
    xlWorkSheet = xlWorkBook.ActiveSheet
    xlCells = Globals.ThisAddIn.Application.Selection
    For i = 1 To xlCells.Rows.Count
                For j = 1 To xlCells.Columns.Count
                    xlCells.Cells(i, j) = "col " & j & " | lig " & i
                Next j
            Next i
    Pour le moment, il m'écrit mes données sur la première range sélectionnée.
    Ce que je souhaiterai, c'est qu'il écrive sur toutes les cellules/range sélectionnées.

    Voilà le gros de mon problème.
    Merci d'avance pour vos réponses.

  2. #2
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    bonjour
    Tu veux quoi exactement ? Ecrire dans chaque cellules de chaque ranges les informations que tu souhaites ?
    Si c'est le cas tu peux faire un tableau de range, puis une boucle pour parcourir le tableau, suivi de tes boucles pour traiter les cellules du tableau.

  3. #3
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour,
    Tout d'abord, merci pour la réponse.

    L'objectif de mon projet est de faire un ruban sous Excel.
    Donc, à la main, je dois pouvoir sélectionner plusieurs plages de données différentes (avec la touche Ctrl).
    Ces plages de données, lorsque je clique sur mon bouton dans le ruban, doivent modifier leurs contenus (ce qu'il se passe dedans, ce n'est pas encore le problème).

    Le problème que je rencontre pour le moment, c'est qu'il modifie le contenu des cellules de la première plage de données sélectionnées, mais pas les autres.
    Je rappelle que ces plages de données sont sélectionnées pour la même modification.

    Je ne trouve pas le code qui me permette de parcourir toutes les cellules sélectionnées des 3 plages de données que j'ai sélectionné.

    Merci encore.

  4. #4
    Membre éclairé Avatar de Uranne-jimmy
    Homme Profil pro
    Bioinformatique
    Inscrit en
    Décembre 2012
    Messages
    778
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Bioinformatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 778
    Par défaut
    Bonjour,
    Ton matériel de base ici ce sera ta sélection. Le problème vient du fait que quand tu travailles sur les cellules de ta sélection, seul la première range est traité.

    J'ai beau cherché, je n'arrive pas à trouver le comportement de Globals.ThisAddIn.Application.Selection. Mais d'instinct je tenterais un for each en fait.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For each Xrange in Globals.ThisAddIn.Application.Selection
    ...
    Il faut voir ce que ça donne mais je dois avouer que je trouve pas beaucoup d'autres moyens de t'aider...

  5. #5
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Bonjour.
    Encore une fois, merci pour l'intérêt que vous portez sur mon problème.
    Effectivement, il ne prend que la première range sélectionnée.

    Je vais voir ce que vous me proposez comme solution et vous dis quoi.

    Cordialement.

  6. #6
    Membre Expert Avatar de Gado2600
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Mai 2013
    Messages
    904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Office VBA

    Informations forums :
    Inscription : Mai 2013
    Messages : 904
    Par défaut
    Merci beaucoup !
    Ce que je voulais obtenir est obtenue
    Pour le reste de mon projet, je pense que je saurais comment faire.

    Encore une fois, merci !

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

Discussions similaires

  1. changer couleur cellule excel vb
    Par answer911 dans le forum VB.NET
    Réponses: 0
    Dernier message: 30/05/2013, 15h41
  2. envoyer des données depuis cellules excel à une table access
    Par alaouiyassine01 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/10/2007, 17h39
  3. Excel -> changer la cellule active
    Par sony351 dans le forum C++Builder
    Réponses: 5
    Dernier message: 04/10/2006, 11h03
  4. Fusion de cellules avec données avec Excel
    Par griese dans le forum Excel
    Réponses: 8
    Dernier message: 28/07/2006, 17h02
  5. Remplacer un texte dans une cellule Excel à partir d'un point donné
    Par tonyC dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 28/04/2006, 19h05

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