Programmation simple...en théorie

7calculttc.xlsm (15.92 Ko)

Bonjour,

Je demande de l’aide !

Je crise sur une formule ultra simple en VBA…ma demande d’aide a pour but de voir mon erreur de programmation, vu que je suis débutant, pour que je les cerne plus facilement. Sinon je comprendrai que les calculs se fassent le plus simplement avec l’automatisation… mon but ici est plus pour cerner la programmation qu’autre chose.

j'essaie de faire une simple addition (Prix HT + TVA) j'ai beau essayer de voir mais à chaque fois c'est la ligne "nblignes" qui pose problème me dit le Debogueur...

Merci d’avance de votre aide

Sub Prix_TTC()

Range("A1").Select ‘Je commence en A1

Do Until ActiveCell.Value = "Prix TTC" ‘Je recherche la case Prix TTC

ActiveCell.Offset(0, 1).Select ‘je passe à la cellule d’après si je n’ai pas trouvé Prix TTC

Loop ‘Je refais l’opération jusqu’à trouver Prix TTC

nblignes = ActiveCell.CurrentRegion.Rows.Count-1 ‘Je vais à la cellule d’en dessous de l’en-tête

For i = 1 To nblignes

ActiveCell.Value = ActiveCell.Offset(0, -2).Value + ActiveCell.Offset(0 - 1).Value ‘Prix TTC + TVA

ActiveCell.Offset(1, 0).Select ‘Je continue sur la cellule d’en-dessous

Next ‘Etc.

Range("A1").Select ‘Je retourne en A1

End Sub

Il faudrait commencer par déclarer tes variables puisque tu as Option Explicit

Sub blabla()
Dim i, nblignes

Après tu n'es pas sorti d'affaire pour autant hein... Parce que tout tes Select, ActiveCell, Offset... C'est justement ce qu'il faut éviter !

Une solution acceptable :

Sub Prix_TTC()
Dim i%, iC%, iR%, o

iR = [A1].CurrentRegion.Rows.Count
Set o = Cells.Find("Prix TTC")
If Not o Is Nothing Then iC = o.Column

For i = 2 To iR
Cells(i, iC) = Cells(i, iC - 1) + Cells(i, iC - 2)
Next

End Sub

A+

Merci beaucoup pour ta formule Galopin01.

Elle fonctionne Nickel ;-)

Après, je viens d'avoir une semaine de cours VBA initiation et le prof nous a montré que le système des activecell/offset/value etc. et tout ce qui touche de près ou de loin ce genre de langage...automatiquement, j'essaie d'appliquer ce qu'il m'a montré.

Il me faudra du temps pour assimiler et comprendre mais l'avantage est que je peux voir qu'il y autre chose que ce que le formateur a pu me montrer. parce qu'une semaine c'est court et il y énormément de choses à voir !

Merci encore !

Rassure toi c'est comme pour les gamins : T'en prends pour vingt ans minimum !

Rechercher des sujets similaires à "programmation simple theorie"