Copier lignes d'1 feuille à une autre ss cond - Page 3
Résolu
Précédent
- 1
- 2
- 3
-
C'est bien Sheets("facture").cells(Val,10)
la variable i s'applique aux autres feuilles mais pas à celle là
je regarde à quoi correspond une erreur 13 et je te dit
et pour répondre à ta question...
Non on nomme pas la cellule
Je crée une variable
chaque foi que tu copies une ligne tu ajoute à cette variable le contenue la cellule colonne 10 de ta nouvelle ligne
A la fin de ta fonction la variable Tot doit avoir la valeur de la somme de ta colonne 10
Lance la sub une foi et vérifie manuellement avec la fonction somme d'excel si les résultats correspondent...
et dit moi ce qu'il en est -
chez moi ya pas d'erreur
keske il te dit quand il t'annonce erreur 13
et quelle ligne et surlignée en jaune??
essaye de mettre Tot = 0 juste sous le sub() avant le premier For
-
Voila ce que j'ai comme code:
Dim val As Integer
val = 14
Dim Tot As Single
For i = 14 To 61
If i <> 47 Then
For j = 10 To 17
If Sheets(j).Cells(i, 9) <> 0 Xor Sheets(j).Cells(i, 9) = " " Then
Sheets(j).Rows(i).Copy
Sheets("FACTURE").Select
Sheets("FACTURE").Rows(val).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Tot = Tot + Sheets("FACTURE").Cells(val, 10).Value
val = val + 1
End If
Next j
End If
Next i
Sheets("FACTURE").Cells(val, 10) = Tot
message d'erreur: erreur d'execution "13"
incompabilité de type
C cette ligne qui est en jaune: Tot = Tot + Sheets("FACTURE").Cells(val, 10).Value -
met dim Tot as integer au lieu de single ;)
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Juste pour voir si ça change qqchose essaye d'enlever ce code et de relancé la fonction...
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Si c'es ça le problème fais ces modif...
Selection.PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Tot = Tot + Sheets("FACTURE").Cells(val, 10).Value
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
val = val + 1
Si ya tjs cette erreur essaye de m'envoyer ton fichier excel que je puisse essayer sur le vrai modèle
parce que les essais que j'ai fais de mon coté fonctionne bien... -
-
-
-
Tu comprend peu être mieu ce que je veus, non?
Ta une solution pour les sous totaux et total général? -
Allez c bon cette foi on l'a... voilà le code un peu modifié
Private Sub CommandButton14_Click()
Dim i As Integer
Dim j As Integer
Dim val As Integer
val = 14
Dim Tot As Single
For i = 14 To 61
If i <> 47 Then
For j = 10 To 17
If Sheets(j).Cells(i, 9).Value <> "" Then 'pas d'espace entre les guillemets...
If Sheets(j).Cells(i, 9).Value <> 0 Then
Sheets(j).Rows(i).Copy
Sheets("FACTURE").Select
Sheets("FACTURE").Rows(val).Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteValues, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Tot = Tot + Sheets("FACTURE").Cells(val, 10).Value
val = val + 1
End If
End If
Next j
End If
Next i
Sheets("FACTURE").Cells(val, 10) = Tot
End Sub
Avec ça c bon
fais attention aussi ... dans ta colonne 9 (i) correspondant au nombre de jours certaine cellule sont au format monaitaire (0.00€) et écrite en blanc ...invisible sur fond blanc...donc faut les remettre en format standard sinon il ne verra pas qu'elle sont vide
Même problème avec certaine cellule de ta colonne 10 -
Désolé je n'avait pas vu ton message!
Tu as quand même réussi à ouvrir le fichier?
Je ne comprend pas, je viens de tester avec le code que tu m'a donné mais j'ai toujours le probléme, erreur 13!!! -
regarde dans facture 1 colonne 9 ligne 44 et met 0 ou "" ou rien
en fait le double guillement correspond à cellule vide
tu n'as pas besoin de mettre ="" dans les cellules que tu veux laisser vide
tu n'as d'ailleur pas besoin de mettre 0 non plus...
si ça bug note le i, le j et le val que te donne vba (il suffit de mettre le curseur sur la variable quand tu as la ligne jaune de bug et il te donne sa valeur) et envoie les moi -
ça y'est c bon ça fonctionne, merci beaucoup!!!
En fait maintenan je vais utiliser ce code pour chaque sous partie et apré il fodrai que j'arrive a faire la somme des sous totaux, comme dans les facture 1 à 8. -
pour faire le total des sous toutaux tu nomme Tot11, Tot2...Tot3 les variables dans tes différentes fonctions
et à la fin de la dernière tu rajoute
avec bien sur Total as single
Total = Tot1 + Tot2...+Tot8
et tu choisi la cellule dans laquelle mettre ce résultat de la même manière que les tot -
C'est bon!!!!!!!!!!!
Merci pour tous!
Un peu de mise en page et ça sera bon.
Bonne continuation
Précédent
- 1
- 2
- 3