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 :

Indexer des cellules [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Par défaut Indexer des cellules
    Bonjour a tout le monde.
    Je veux savoir comment indexé des cellules sous excel avec des macros. comme dans le cas de la programmation en c dire for(i=0;i<N;i++)
    if tab[i]=2
    ...
    end if
    end for
    Voici mon soucis. Car je veux copier des cellules mais avant de le faire il faut qu'une cellule d'une autre colonne mais sur la même ligne verifie une certaine condition je pense que j'ai été assez clair et net et merci d'avance

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    je pense que j'ai été assez clair et net
    Tu te la pete, non?

    Le code ci dessous boucle sur chaque ligne du tableau de la feuille active et test si la cellule en colonne B n'est pas vide.
    A toi d'adapter selon tes critères qui pour le coup, ne sont pas clairs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim i As Long
     
    For i = 1 To Range("A" & Rows.Count).End(xlUp).Row
        If Range("B" & i).Value <> "" Then
            'code pour copier
        End If
    Next i

  3. #3
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Bonjour,

    En complément de Jérôme qui répond plus vite que moi

    L'indexation à deux dimensions est sous-entendue dans Excel --> une ligne et une colonne = une cellule.

    Par exemple, pour affecter à la variable "test", la valeur de la cellule B2

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test = Sheets("Feuil1").Cells(2,2).value
    En fait, B2 devient Cells(2,2) en VBA... Le premier chiffre est la ligne, le deuxième la colonne.

    Dans le cas de ton problème, il faut que tu vérifies le contenu d'une cellule sur une même ligne mais dans une autre colonne.

    Exemple : pour copier la cellule en deuxième colonne si la cellule en huitième colonne = vrai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ' si sur la même ligne i dans la 8ème colonne j'ai "VRAI"
    If Sheets("Feuil1").Cells(i,8).value = True then
     
        'Alors faire la copie de Sheets("Feuil1").Cells(i,2)
     
    End If
    Bertrand

  4. #4
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Par défaut
    merci beaucoup les gars. Sauf que je ne sais pas ou se situe le problème mais quand je copie en valeur la cellule, ça ne marche pas il me remet la formule et je ne veux plus voir de formule pour les cellule concerné je vous donne un petit bout de mon 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
    15
    16
    17
    Private Sub CommndButton1_Click()
    Dim r As Integer
    Application.ScreenUpdating = False
     
    For r = 1 To r = 10
     
    If Range("K" & r).Value = "oui" Then
     
    Application.ScreenUpdating = False
    Range("A", r).Value = Range("A" & r).Value
     
    End If
     
    Next r
     
     
    End Sub
    et je veux vraiment être aidé sur ça réellement

  5. #5
    Membre chevronné Avatar de Bear the french
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    352
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Saône et Loire (Bourgogne)

    Informations forums :
    Inscription : Mai 2012
    Messages : 352
    Par défaut
    Re,

    Le code ci dessous me laisse perplexe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A", r).Value = Range("A" & r).Value
    La syntaxe n'est pas bonne, cela devrait plutôt être :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A" & r).Value = Range("A" & r).Value
    Mais ça n'a pas de sens, tu copies la valeur de Ar sur Ar (?).
    Où veux tu coller le résultat ? Car soit tu l'affectes à une variable, soit tu le colles dans une autre cellule.

    Bertrand

  6. #6
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2012
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2012
    Messages : 20
    Par défaut
    en fait la premiere valeur est donnée par une formule et c'est ce que je veux éliminer en y laissant que la valeur ca va l'empecher de se changer si on réactualise la cellule d'origine. car y a une autre cellule qui depend de cette mm cellule. et mm en changeant le code comme indiquer ca ne marche pas. je ne sais pas ce qui se passe

  7. #7
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    la correction proposée par "Bear thé french" semble correspondre à ton attente, peux tu nous poster ton code et nous dire ce qui ne va pas exactement.

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 22/12/2009, 16h20
  2. Problemes avec des cellules vides
    Par arsgunner dans le forum ASP
    Réponses: 7
    Dernier message: 14/06/2004, 08h42
  3. [JTable]Aligner le contenu des cellules
    Par )3lade dans le forum Composants
    Réponses: 2
    Dernier message: 09/03/2004, 13h24
  4. [] [Excel] Fusionner des cellules
    Par SamyD dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 13/12/2002, 18h37

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