[VBA] Problème d'incrémentation des pages

baptbapt

XLDnaute Occasionnel
Bonjour,

J'ai réaliser un programme permettant la cotation de fournisseur à partir de divers base de donnée.

Je réalisais à l'origine la cotation fournisseur par fournisseur.
Mais pour gagner en temps, j'ai voulu que le système séléectionne de lui meme le code des fournisseur.

Le problème est que le système bloque sur le 2ème code

cota = 3
For rtcot = 3 To 6
i = Cells(cota, 2).Value
Sheets.Add
ActiveSheet.Name = i

il ne reconnait pas i


Merci
 

Pièces jointes

  • Commandes FR du 17-03-2003 AU 12-06-2007 modif.zip
    40.4 KB · Affichages: 34

2passage

XLDnaute Impliqué
Re : [VBA] Problème d'incrémentation des pages

Bonjour baptbapt, Pierrejean,

i = Sheets("Stat ANC").Cells(cota, 2).Value

fonctionnera mieux : tu affectes i à une valeur de ta feuille "Stat ANC" mais à la première itération, ce n'est plus la feuille active.
si j'ai tout bien compris, ça marche... (la macro plante en atteignant la première cellule vide) mais le résultat produit est un peu ésotérique pour moi :)

a plus
 

baptbapt

XLDnaute Occasionnel
Re : [VBA] Problème d'incrémentation des pages

C'est bon, le programme tourne sur les valeurs que j'ai mis en source


Il ne me reste qu'a voir sir le programme est capable de tourner avec plus d'une centaine d'élément source

Merci
 

baptbapt

XLDnaute Occasionnel
Re : [VBA] Problème d'incrémentation des pages

J'ai un problème sur mon fichier

J'ai voulu le lancer avec un code pour lequel il n'y a pas de donnée.
problème

Le système bloque encore

Comment faire pour effectuer un repérage sur la page , qui ferait

SI, i existe sur la colonne 3, faire le reste des opérations, sinon, passé à un autre i

Sub Cotation_Programme()

'Indiquer le nom de la page de donnée
x = InputBox("Indiquez le nom de la page de donnée", "Nom Page", "")

Sheets(x).Activate
Dim derlo As Long
derlo = Cells(65536, 3).End(xlUp).Row

'Indiquer dernière date de la plage de donnée
g = InputBox("Indiquez dernière date", "Date", "06/12/2007")

'Cotation Global
Sheets("Stat ANC").Activate

Dim derligh As Long
derligh = Cells(65536, 2).End(xlUp).Row

cota = 3
For rtcot = 3 To derligh
i = Sheets("Stat ANC").Cells(cota, 2).Value
x = x
Sheets.Add
ActiveSheet.Name = i


'Regarde si le fournisseur a passé des commandes
Sheets(x).Activate

For ppr = 1 To derlo
If Cells(ppr, 3).Value = i Then

Après cette ensemble, j'ai plein de petit programme indépendant. (Je vai pas mettre tout le prog.

Mais sa bloque sur la fin
 

baptbapt

XLDnaute Occasionnel
Re : [VBA] Problème d'incrémentation des pages

Après modification et refonte complète du programme, j'ai réussi a relancer mon programme

Par contre, il bloque maintenant sur le 11ième valeur de i

'Indiquer le nom de la page de donnée
lop = InputBox("Indiquez le nom de la page de donnée", "Nom Page", "")

Sheets(lop).Activate
Dim derlo As Long
derlo = Cells(65536, 3).End(xlUp).Row

'Indiquer dernière date de la plage de donnée
g = InputBox("Indiquez dernière date", "Date", "06/12/2007")

'Cotation Global
Sheets("Stat ANC").Activate

Dim derligh As Long
derligh = Cells(65536, 2).End(xlUp).Row

cota = 3
For rtcot = 3 To 91 'derligh
i = Sheets("Stat ANC").Cells(cota, 2).Value
Sheets.Add
ActiveSheet.Name = i

'Copie les lignes correpondante sur la feuille de visualisation
gti = i

r = 1
For p = 1 To derlo
Sheets(lop).Activate
If Cells(p, 5).Value = i Then
Rows(p).EntireRow.Copy
Sheets(i).Select
Range("A" & r).Select
ActiveSheet.Paste
r = r + 1
End If
p = p + 1
Next p

'Effacement données inutile sur feuille fournisseur
Sheets(i).Activate

Dim derl As Long
derl = Cells(65536, 5).End(xlUp).Row
For f = derl To 1 Step -1
If Cells(f, 8).Value = "." Or Cells(f, 6).Value = "." Or Cells(f, 8).Value = "" _
Or Cells(f, 13).Value = "" Or Cells(f, 6).Value = "NRC" Or Cells(f, 6).Value = "CA" _
Or Cells(f, 6).Value = "AFFECTATION" Or Cells(f, 6).Value = "TRANSPORT" _
Or Cells(f, 6).Value = "FTRS" Or Cells(f, 6).Value = "DCST" Or Cells(f, 6).Value = "AOG" _
Or Cells(f, 6).Value = "REMP" Or Cells(f, 6).Value = "DEPOSIT" Or Cells(f, 6).Value = "REMPA." _
Or Cells(f, 6).Value = "ACOMPTE" Or Cells(f, 6).Value = "CB" Or Cells(f, 6).Value = "IMPRIMERIE" _
Or Cells(f, 6).Value = "FAA" Or Cells(f, 6).Value = "DCRF" Or Cells(f, 6).Value = "DCRA" _
Or Cells(f, 6).Value = "EASA" Or Cells(f, 6).Value = "OUTILLAGE" Or Cells(f, 6).Value = "PIECE" _
Or Cells(f, 6).Value = "ACCUSE RECEPTION" Or Cells(f, 6).Value = "REM" Or Cells(f, 6).Value = "REMP." _
Or Cells(f, 6).Value = "ACCUSE RECEPTION 1" Or Cells(f, 6).Value = "JAA" _
Then
Rows(f).Select
Selection.Delete Shift:=xlUp
End If
Next f

If Cells(1, 3).Value <> "" Then

'Comptabilise le nombre de référence de commande et le nombre d'élément reçu
Dim derligne As Long
derligne = Cells(65536, 13).End(xlUp).Row

Cells(derligne + 4, 2).Value = Year(Cells(1, 2).Value)

x = Year(Cells(1, 2).Value)
For l = 1 To derligne
If x < Year(Cells(l, 13).Value) Then
x = Year(Cells(l, 13).Value)
End If
Next l

xx = x - Year(Cells(1, 2).Value)
Cells(derligne + 4, 2 + xx).Value = x

For y = 1 To xx
If Cells(derligne + 7, 2).Value + y <> Cells(derligne + 7 + xx, 2).Value Then
Cells(derligne + 4, 2 + y).Value = Cells(derligne + 4, 2) + y
End If
Next y

Cells(derligne + 4, 1).Value = "Année"
Cells(derligne + 5, 1).Value = "Nb cde"
Cells(derligne + 6, 1).Value = "Délai jour"
Cells(derligne + 6, 3 + xx).Value = derligne

c = 0
For k = 1 To derligne
If Cells(k, 14).Value <> "" Then
c = c + 1
End If
Next k

Cells(derligne + 7, 1).Value = "Date Réception"
Cells(derligne + 7, 3 + xx).Value = c
End If

cota = cota + 1
Next rtcot

Il me met encore

Sheets(i).activate

qui ne fonctionne pas
 

Discussions similaires

Statistiques des forums

Discussions
312 361
Messages
2 087 603
Membres
103 604
dernier inscrit
CAROETALEX59