Mon classeur excel comporte deux feuilles.
Une feuille donnée comportant environ 3000 lignes et une feuille
indicateur comportant un tableau de synthèse des données.
J' ai utilisé le menu insertion + nom + définir pour définir les
cellules du tableau. Ces noms sont, par exemple, sous ce format entr40nb
ou entr40mt.
Je construit ces noms dans une variable string dans mon module en
utilisant plusieurs cellules d'une ligne de la feuille donnée.
Maintenant je souhaiterais incrémenter entr40mt dans la feuille
indicateur ou ajouter le montant de la ligne à entr40mt.
J'ai concocter ceci, mais ça bug à ce niveau (certainement le changement
de format des variables au cours du code)
Sub Indic()
Dim datextrac As Date
Dim ligne As Integer
Dim site As Integer
Dim montant As Currency
Dim statut As String * 4
Dim codemaas As String * 5
Dim ensort As Integer
Dim codecellnb As String * 15
'Définition de la date d'extraction BO
Msg = "La date d'extration BO est-elle " & Date & " ?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbYes Then datextrac = Date
If Ans = vbNo Then
datextrac = InputBox("Saisissez la date d'extraction BO au format
JJ/MM/AAA")
End If
'définition de la ligne de début
ligne = 3
'moulinette
With Sheets("Export")
Do While .Range("A" & ligne) <> ""
'Traitement des données simple de la ligne
montant = .Cells(ligne, "M").Value
site = .Cells(ligne, "A").Value
'Traitement du code MAAS
If .Cells(ligne, "o").Value <> "" Then
If site = 44 Or site = 41 Then
codemass = "Reprises non codifiées"
Else
codemass = "MAAS8"
End If
Else
codemass = .Cells(ligne, "o").Value
End If
'Vérification si ligne entrée ou ligne sortie
If datextrac = .Cells(ligne, "T").Value Then
statut = "Sort"
entsort = 1
ElseIf datextrac = .Cells(ligne, "S").Value Then
statut = "entr"
entsort = 2
Else
statut = "enco"
entsort = 0
End If
'Fabrication des codes nom de cellule nombre des entrées et sortie
If entsort = 1 Or entsort = 2 Then
codecellnb = statut & site & "nb"
codecellnb = codecellnb + 1
codecellmt = statut & site & "mt"
codecellmt = codecellmt + montant
End If
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichDenis
| Maintenant je souhaiterais incrémenter entr40mt dans la feuille | indicateur ou ajouter le montant de la ligne à entr40mt.
ça c'est du chinois pour moi ! Qu'est-ce que tu veux faire exactement ?
"Patrice" a écrit dans le message de news: 454e3db2$0$11180$ Bonjour,
Mon classeur excel comporte deux feuilles. Une feuille donnée comportant environ 3000 lignes et une feuille indicateur comportant un tableau de synthèse des données. J' ai utilisé le menu insertion + nom + définir pour définir les cellules du tableau. Ces noms sont, par exemple, sous ce format entr40nb ou entr40mt.
Je construit ces noms dans une variable string dans mon module en utilisant plusieurs cellules d'une ligne de la feuille donnée.
Maintenant je souhaiterais incrémenter entr40mt dans la feuille indicateur ou ajouter le montant de la ligne à entr40mt.
J'ai concocter ceci, mais ça bug à ce niveau (certainement le changement de format des variables au cours du code)
Sub Indic()
Dim datextrac As Date Dim ligne As Integer Dim site As Integer Dim montant As Currency Dim statut As String * 4 Dim codemaas As String * 5 Dim ensort As Integer Dim codecellnb As String * 15
'Définition de la date d'extraction BO Msg = "La date d'extration BO est-elle " & Date & " ?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbYes Then datextrac = Date If Ans = vbNo Then datextrac = InputBox("Saisissez la date d'extraction BO au format JJ/MM/AAA") End If
'définition de la ligne de début ligne = 3
'moulinette With Sheets("Export") Do While .Range("A" & ligne) <> "" 'Traitement des données simple de la ligne montant = .Cells(ligne, "M").Value site = .Cells(ligne, "A").Value
'Traitement du code MAAS If .Cells(ligne, "o").Value <> "" Then If site = 44 Or site = 41 Then codemass = "Reprises non codifiées" Else codemass = "MAAS8" End If Else codemass = .Cells(ligne, "o").Value End If
'Vérification si ligne entrée ou ligne sortie If datextrac = .Cells(ligne, "T").Value Then statut = "Sort" entsort = 1 ElseIf datextrac = .Cells(ligne, "S").Value Then statut = "entr" entsort = 2 Else statut = "enco" entsort = 0 End If 'Fabrication des codes nom de cellule nombre des entrées et sortie If entsort = 1 Or entsort = 2 Then codecellnb = statut & site & "nb" codecellnb = codecellnb + 1 codecellmt = statut & site & "mt" codecellmt = codecellmt + montant End If
'incrémentation ligne = ligne + 1 Loop End With
End Sub
Je sèche complètement.
Patrice.
| Maintenant je souhaiterais incrémenter entr40mt dans la feuille
| indicateur ou ajouter le montant de la ligne à entr40mt.
ça c'est du chinois pour moi ! Qu'est-ce que tu veux faire exactement ?
"Patrice" <pat@yaou.fr> a écrit dans le message de news: 454e3db2$0$11180$426a74cc@news.free.fr...
Bonjour,
Mon classeur excel comporte deux feuilles.
Une feuille donnée comportant environ 3000 lignes et une feuille
indicateur comportant un tableau de synthèse des données.
J' ai utilisé le menu insertion + nom + définir pour définir les
cellules du tableau. Ces noms sont, par exemple, sous ce format entr40nb
ou entr40mt.
Je construit ces noms dans une variable string dans mon module en
utilisant plusieurs cellules d'une ligne de la feuille donnée.
Maintenant je souhaiterais incrémenter entr40mt dans la feuille
indicateur ou ajouter le montant de la ligne à entr40mt.
J'ai concocter ceci, mais ça bug à ce niveau (certainement le changement
de format des variables au cours du code)
Sub Indic()
Dim datextrac As Date
Dim ligne As Integer
Dim site As Integer
Dim montant As Currency
Dim statut As String * 4
Dim codemaas As String * 5
Dim ensort As Integer
Dim codecellnb As String * 15
'Définition de la date d'extraction BO
Msg = "La date d'extration BO est-elle " & Date & " ?"
Ans = MsgBox(Msg, vbYesNo)
If Ans = vbYes Then datextrac = Date
If Ans = vbNo Then
datextrac = InputBox("Saisissez la date d'extraction BO au format
JJ/MM/AAA")
End If
'définition de la ligne de début
ligne = 3
'moulinette
With Sheets("Export")
Do While .Range("A" & ligne) <> ""
'Traitement des données simple de la ligne
montant = .Cells(ligne, "M").Value
site = .Cells(ligne, "A").Value
'Traitement du code MAAS
If .Cells(ligne, "o").Value <> "" Then
If site = 44 Or site = 41 Then
codemass = "Reprises non codifiées"
Else
codemass = "MAAS8"
End If
Else
codemass = .Cells(ligne, "o").Value
End If
'Vérification si ligne entrée ou ligne sortie
If datextrac = .Cells(ligne, "T").Value Then
statut = "Sort"
entsort = 1
ElseIf datextrac = .Cells(ligne, "S").Value Then
statut = "entr"
entsort = 2
Else
statut = "enco"
entsort = 0
End If
'Fabrication des codes nom de cellule nombre des entrées et sortie
If entsort = 1 Or entsort = 2 Then
codecellnb = statut & site & "nb"
codecellnb = codecellnb + 1
codecellmt = statut & site & "mt"
codecellmt = codecellmt + montant
End If
| Maintenant je souhaiterais incrémenter entr40mt dans la feuille | indicateur ou ajouter le montant de la ligne à entr40mt.
ça c'est du chinois pour moi ! Qu'est-ce que tu veux faire exactement ?
"Patrice" a écrit dans le message de news: 454e3db2$0$11180$ Bonjour,
Mon classeur excel comporte deux feuilles. Une feuille donnée comportant environ 3000 lignes et une feuille indicateur comportant un tableau de synthèse des données. J' ai utilisé le menu insertion + nom + définir pour définir les cellules du tableau. Ces noms sont, par exemple, sous ce format entr40nb ou entr40mt.
Je construit ces noms dans une variable string dans mon module en utilisant plusieurs cellules d'une ligne de la feuille donnée.
Maintenant je souhaiterais incrémenter entr40mt dans la feuille indicateur ou ajouter le montant de la ligne à entr40mt.
J'ai concocter ceci, mais ça bug à ce niveau (certainement le changement de format des variables au cours du code)
Sub Indic()
Dim datextrac As Date Dim ligne As Integer Dim site As Integer Dim montant As Currency Dim statut As String * 4 Dim codemaas As String * 5 Dim ensort As Integer Dim codecellnb As String * 15
'Définition de la date d'extraction BO Msg = "La date d'extration BO est-elle " & Date & " ?" Ans = MsgBox(Msg, vbYesNo) If Ans = vbYes Then datextrac = Date If Ans = vbNo Then datextrac = InputBox("Saisissez la date d'extraction BO au format JJ/MM/AAA") End If
'définition de la ligne de début ligne = 3
'moulinette With Sheets("Export") Do While .Range("A" & ligne) <> "" 'Traitement des données simple de la ligne montant = .Cells(ligne, "M").Value site = .Cells(ligne, "A").Value
'Traitement du code MAAS If .Cells(ligne, "o").Value <> "" Then If site = 44 Or site = 41 Then codemass = "Reprises non codifiées" Else codemass = "MAAS8" End If Else codemass = .Cells(ligne, "o").Value End If
'Vérification si ligne entrée ou ligne sortie If datextrac = .Cells(ligne, "T").Value Then statut = "Sort" entsort = 1 ElseIf datextrac = .Cells(ligne, "S").Value Then statut = "entr" entsort = 2 Else statut = "enco" entsort = 0 End If 'Fabrication des codes nom de cellule nombre des entrées et sortie If entsort = 1 Or entsort = 2 Then codecellnb = statut & site & "nb" codecellnb = codecellnb + 1 codecellmt = statut & site & "mt" codecellmt = codecellmt + montant End If