Compter les lignes

Bonjour,

j'ai un fichier comportant une liste de prix d'achat, la longueur de cette liste varie; je voudrais, en VBA compter les lignes, puis calculer les prix de vente dans une colonne supplémentaire.

merci de votre aide

<config>Seven Home, Acer Aspire V3 771G pour le portable (HD 750 Go, Ram 8Go)
Seven Pro, MSI 4Gb,HD 1 Tb pour le pc bureau
XP et Windows 8 sur un plus ancien P IV

4 réponses

  1. Merci, ça marche très bien MAIS j'ai encore un problème, en fait, je dois effacer les lignes qui se trouvent APRES un endroit variable.
    Cet endroit variable, je peux le retrouver grâce a la colonne "B" qui est emplie de "10" et lorsque cela passe à "12" c'est à partir de là que je dois effacer.
    J'aurai besoin du nombre de ligne qui resteront APRES cette opération afin de faire une boucle pour calculer les prix de vente dans une nouvelle colonne.

    Merci de votre aide.
    1. Re,

      tu remplaces msgbox
      MsgBox WorksheetFunction.Count(Range(Range("B2"), Range("B65000").End(xlUp)))
      par l'adresse d'une cellule exeple la cellule B2

      range("B2")= WorksheetFunction.Count(Range(Range("B2"), Range("B65000").End(xlUp)))
      ou plus court
      [B2]= WorksheetFunction.Count(Range(Range("B2"), Range("B65000").End(xlUp)))
      1. Re,

        répondu trop vite j'ai zappé que la plage était variable, ces lignes s'adaptent automatiquement

        Sub Compte_cellule()
        MsgBox WorksheetFunction.CountIf(Range(Range("B2"), Range("B65000").End(xlUp)), ">""") 'compte cellule texte '.EntireRow.Insert
        MsgBox WorksheetFunction.CountA(Range(Range("B2"), Range("B65000").End(xlUp))) 'compte cellule non vide
        MsgBox WorksheetFunction.Count(Range(Range("B2"), Range("B65000").End(xlUp))) 'compte cellule numérique
        End Sub
        1. Merci beaucoup. ça marche à merveille.
          Encore une petite question à ce sujet : quelle instruction dois je mettre pour récupérer le nombre se trouvant dans le msgbox ? (pour en faire une boucle après)
          merci
      2. Salut,

        en supposant que tes tarifs se trouvent colonne B entre B2 et B20, trois lignes de codes, un doit correspondre à tes besoins

        Sub Compte_cellule()
        MsgBox WorksheetFunction.CountIf([B2:B20], ">""") 'compte cellule texte
        MsgBox WorksheetFunction.CountA([B2:B20]) 'compte cellule non vide
        MsgBox WorksheetFunction.Count([B2:B20]) 'compte cellule numérique
        End Sub