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. 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
    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. 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. 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.