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 :

Contenu de cellules dans FOR


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
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut Contenu de cellules dans FOR
    Bonjour à tous,

    Malgré une recherche sur le forum, je bloque sur une syntaxe, j'ai essayé pas mal de trucs sans succès ...

    Voilà mon souci:

    Ce code fonctionne très bien, il concatene le contenu de plusieurs cellules dans une seule
    (je passe par une macro simplement parce qu'avec une formue =CONCATENER je ne peux pas dépasser 255 carractères)
    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
     
    Sub Macro1()
     
        Range("Q4").Select
        ActiveCell.FormulaR1C1 = [B4] & [E4] & [C4]
     
        Range("Q5").Select
        ActiveCell.FormulaR1C1 = [B5] & [E5] & [C5]
     
        Range("Q6").Select
        ActiveCell.FormulaR1C1 = [B6] & [E6] & [C6]
     
        ' etc jusqu'au range 129
     
    End Sub
    Mainenant, pour simplifier le code, je souhaite passer par une boucle FOR, et il me manque un petit quelque chose pour que ça fonctionne au poil ..
    Donc, ce code ne fonctionne pas, mais c'est dans l'idée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Sub Macro1()
     
    For i = 4 To 129
      Range("Q" & i).Select
        ActiveCell.FormulaR1C1 = [Bi] & [Ei] & [Ci]
      Next i
    End Sub
    Pour info, cette partie est OK, j'ai testé:
    C'est "juste" cette syntaxe qui coince:
    j'ai passé 2h à tenter d'autres syntaxe mais la je déclare forfait

    Si une ame charitable passe dans le coin, je suis preneur, merci d'avance !!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Et avec ce code ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Macro1()
      For i = 4 To 129
        Cells(i, "Q").FormulaR1C1 = Cells(i, "B") & Cells(i, "E") & Cells(i, "C")
      Next i
    End Sub

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à vous, Bonjour ay Forum,

    Pourquoi compliquer?

    La propriété FormulaR1C1 est
    - de type "String"
    - peut-être affectée à un objet "Range" en une fois

    (à adapter)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Macro1()
        With Range("I1:I29")
                .FormulaR1C1 = "=RC[-8]&RC[-7]&RC[-6]"
                .Value = .Value
        End With
    End Sub
    Ici, la ligne facultative

    sert à effectuer un collage spécial / valeurs par une synatxe très simple

  4. #4
    Membre averti
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut
    Ahhhhhhhhhhh ça fonctionne !!!!!

    Et quelle réactivité.

    Un grand MERCI

    Bonne journée à toi

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut
    Ah zut j'avais pas vu le 2ème message

    Donc merci à SmallFlower

    MercelG: je vais regarder ça, merci à toi !!

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Le principal reste que tu comprennes le code, sans faire de copier/coller machinal.
    Un conseil : évite ces f... "Select" qui ne servent à rien si ce n'est qu'à alordir la procédure.

    N'ouble pas de positionner cette discussion en "Résolu"

    Bienvenu sur le forum, et bonne continuation.

  7. #7
    Membre averti
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juin 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 12
    Par défaut
    Citation Envoyé par MarcelG Voir le message
    Le principal reste que tu comprennes le code, sans faire de copier/coller machinal.
    Oui tout à fait d'accord !!
    Dans d'autres languages je fais des trucs sympa, quand je lis un code ça me parle.
    Disons que je comprends mais que je ne saurais pas faire sans modèle, pas encore tout du moins !
    Je débute vraiment en VBA, je commence à me rendre compte des possibilités et ça me plait bien ^

    Pour ta réponse, j'avais essayé un peu comme ça en incrémentant des cellules sur la gauche, mais j'avais abandonné !
    Dans l'exemple que je n'ai mis que 3 cellules, mais en fait il y en a un paquet, j'en avais marre de compter

    Voici le code fini, si ça peut servir à quelqu'un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Sub Macro1()
        For i = 4 To 129
            Cells(i, "Q").FormulaR1C1 = "# N°" & Cells(i, "B") & " Scope / VLAN" & Cells(i, "E") & " / " & Cells(i, "C") & vbCrLf & " subnet " & Cells(i, "F") & " netmash " & Cells(i, "G") & " {" & vbCrLf & "  option routers " & Cells(i, "J") & ";" & vbCrLf & "  pool {" & vbCrLf & "   allow members of "xxxxxxxxxxx'';" & vbCrLf & "   range " & Cells(i, "H") & ";" & vbCrLf & "   if exists vendor-encapsulated-options {" & vbCrLf & "    dns-updates off;" & vbCrLf & "    option vendor-encapsulated-options " & "40:04:" & Cells(i, "L") & ":41:04:" & Cells(i, "N") & vbCrLf & "   }" & vbCrLf & "  }" & vbCrLf & "}"
        Next i
    End Sub
    Donc, avec un tableau qui me sert de base de donnée, ça me donne les codes sources correspondants à copier/coller pour configurer des DHCP ( je suis obligé de modifier des champs pour une quesTion de confidentialité:
    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
     
    # N°1 Scope / VLANXXX / XXX  - Niv 0
     
     subnet 10.7.X.XX netmash 255.255.255.0 {
     
      option routers 10.7.X.XX;
     
      pool {
     
       allow members of ''XXXXXXXXXXXXXX3;
     
       range 10.7.X.XX 10.7.X.XXX;
     
       if exists vendor-encapsulated-options {
     
        dns-updates off;
     
        option vendor-encapsulated-options 40:04:0A:07:00:07:41:04:0A:07:00:17
     
       }
     
      }
     
    }

  8. #8
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Salut,

    Tu me dis que tu es d'accord, et tu continues à utiliser une boucle.
    As-tu lu, et surtout compris, les lignes de codes que je t'ai proposées.
    En termes de rigueur, l'utilisation d'une boucle n'est pas ici justifiée.

    Reviens si nécessaire.

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

Discussions similaires

  1. [XL-2007] Rechercher contenu de cellules dans d'autres cellules
    Par MaximeBug dans le forum Excel
    Réponses: 5
    Dernier message: 18/06/2013, 11h12
  2. Afficher contenu de cellules dans une ListBox
    Par EtudiantNoobVBA dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/05/2013, 21h24
  3. Réponses: 8
    Dernier message: 26/10/2010, 16h05
  4. comment récupérer un contenue de cellule dans son format
    Par fstrobel dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/11/2007, 13h49
  5. copie de contenu de cellule dans un tableau
    Par levac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/05/2007, 16h12

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