Formulation VBA

Résolu
Bonsoir,

je suis actuellement stagiaire dans une boite de production industriel. En début de semaine mon tuteur m'a dit: "il faudrait que tu mettes en place un indicateur visuel pour nous aider à suivre la prod. Fait ça avec des macros Excel, ça ne devrait pas poser de problème". Sur le coup j'ai dit oui, mais en vrai je ne savais pas du tout de quoi il me parlait :)

Bref. J'ai passé une partie de ma semaine sur le projet et je me retrouve bloqué dans l'écriture de mon code. En effet, je dois sélectionner des cellules qui ne sont pas accolées les une aux autres) puis les coller sur une autre page pour les mettre en forme. Mon problème se situe sur le "copier des cellules qui ne sont pas accolées".
En fait, je récupère le numéro de la ligne qui m'intéresse (je l'appelle numeroLigne) et après je sélectionne les cellules qui m'intéressent sur la ligne en question.
J'ai essayé:

Range("DnumeroLigne:EnumeroLigne,GnumeroLigne:HnumeroLigne").Select

Mais cela ne marche pas. J'ai écumer les sites avec l'internet restreint de ma boite, mais je n'ai pas trouvé de solution.

Pourriez-vous m'indiquer la syntaxe pour ce genre de manip?
Merci beaucoup par avance!

5 réponses

  1. Ça marche!! Merci infiniment pour votre aide!
    0
    1. Contributeur
      Ok, je met en résolu pour toi.
      En haut vers ton titre pour la prochaine fois.
      eric
      0
  2. Contributeur
    Bonsoir,

    pour copier coller :
    lig = 3
    Range("D" & lig & ":E" & lig & ",G" & lig & ":H" & lig).Copy Destination:=Sheets("Feuil2").Range("A1")
    

    eric

    En plus du merci (si si, ça se fait !!!), penser à mettre en résolu lorsque c'est le cas (en haut vers votre titre).
    Merci
    1
    1. Essaies :
      n = 3
      Union(Range("D" & n & ":E" & n), Range("G" & n & ":H" & n)).Select
      1
      1. PS : évites le .Select et mets directement .Copy destination
        0
    2. Pour le coup j'ai tenté ceci:

      numeroLigne = 3
      Range("D" & numeroLigne, "E" & numeroLigne, "G" & numeroLigne, "H" & numeroLigne).Select

      Mais cela ne marche pas mieux :/

      Comment on fait pour inscrire dans Range une succession de cellules désignées par quleque chose du genre : "B" & n ?

      PS: Merci beaucoup pour le coup de main fort agréable!
      0
      1. Bonsoir

        Range demande l'adresse sous la forme lettre de colonne et N° de ligne
        ex Range ("B2") ou Range("B" & n) ou n est une variable

        Si tu as le n° de ligne et le n° de colonne il faut utiliser cells

        Cells(2,4) est la cellule en ligne et colonne 4

        Cdlmnt
        0