Aide pourr jeune débutant sur Excel

death_angel

Habitué
Bonjour,
J'ai un p'tit soucis je fais des tris de données, un peu par bricolage, mais bon ca marche ... et là pour finaliser ma macro, je désirerais cacher (ou supprimer) toutes les lignes ou la somme est égal à -10000 dans la colonne A.
Si je ne suis pas très claire dans mes propos ou que vous voulez des infos complementaires faites moi signe, je vous répondrais.
J'espère que vous pourrez m'aider.

Bonne soirée

Bruno
 

zeb

Modérateur
Si je ne suis pas claire
Ben non, tu es jarod ou bruno, je n'ai pas bien compris :lol:

Il te faut parcourir toute la colonne A (avec une boucle For i, par exemple), tester si la valeur de la cellule Cells(i, 1) est égale à -10000 et cacher ( ...Hidden = True ) la ligne.

Facile. On attend que tu nous dise que c'est ok :)
 

death_angel

Habitué
Merci pour la réponse mais j'ai pas tout compris lol ... j'ai bien dis que je bidoullait, et donc que je ne connais pas toutes tes formules :(, je suis très soft encore ... j'aurais besoin d'un prof, ou d'un bon site ;)
Si tu pouvais m'aider plus précisement, ca serrais très sympas.

Merci d'avance

Bonne soirée
 

death_angel

Habitué
Je voulais essayer de bidoullé ca :

'chercher les doublons dans une colonne (ici A)
'et cacher les lignes en double

Sub CacheLignesIdentiques()
Dim cell As Range, CellsToHide As Range, derLi As Long

Application.ScreenUpdating = False
derLi = Cells(Rows.Count, 1).End(xlUp).Row
For i = derLi To 2 Step -1
If Not IsError(Application.Match(Cells(i, 1).Value, _
Range("A1:A" & i - 1), 0)) Then
If CellsToHide Is Nothing Then
Set CellsToHide = Cells(i, 1)
Else: Set CellsToHide = Union(CellsToHide, Cells(i, 1))
End If
End If
Next i
'on cache toutes les lignes "doublons" en une seule passe
If Not CellsToHide Is Nothing Then _
CellsToHide.EntireRow.Hidden = True

End Sub

Mais j'y comprends rien ... donc je le fais buger :(
 

death_angel

Habitué
For i = 1 To 65536
If Cells(i, 1) = -10000 Then
Selection.Delete Shift:=xlUp
End If
Next i

End Sub


Mais ca mouline dans le vide :(
 

Nova13

Habitué
Quand tu postes sur PPC, met les balise [code ] et [/ code] (sans les espaces) pour encadrer tes lignes de code stp.
normal, tu met selection.delete... ce qui sous-entend que tu as déjà sélectionné quelquechose. Or là, tu demande de supprimer quelquechose que tu n'as pas sélectionné.
pour arriver à ce que tu veux faire, essaye plutôt comme ca:[cpp]For i = 1 To 65536
If Cells(i, 1) = -10000 Then
range(i & ":" & i).Delete
End If
Next i[/cpp]

Et ce for est pas très joli... là comme ca je ne sais pas quoi te proposer.
Mais zeb doit bien avoir quelquechose au fond de son sac pour améliorer ca.
De mon coté, je vais voir si il y a pas mieux.
 

death_angel

Habitué
Code:
For i = 1 To 500
    If Cells(i, 1) = -10000 Then
    Range(i & ":" & i).EntireRow.Hidden = True
    End If
Next i

Comme ca ca marche nickel, ca me les cachent toutes ...
Je sais pas pour quoi, ton "prog" n'en supprimais que la moitié à chaque passe.

En tout cas merci :)

Tiens une autre colle :p

Quand je récupère ma nomenclature, qui est en CSV, des moments j'ai des * qui s'insere, et je crois que cela est égal à "tout" non ?
Impossible de le supprimer, vous avez une solution par VBA ?
 

death_angel

Habitué
Non, c'est pas ca ... les "*" apparaissent dans des colonnes rien a voir avec le fichier CSV. Je ne sais pas comment les supprimer via VBA, qd j'éssaye de le remplacer, il me considere * = "tout" il me vire tout se qui a dans la cellule.
Je veux les enlevé car qand je fais ma division et ma soustraction avec les infos de la cellule où apparraissent les "*" il mets mets "NOT VALUE" à la place du résultat ... normal ...
 

Nova13

Habitué
:heink: J'ai pas compris...

- Qu'est-ce que tu veux remplacer ?
- Par quoi tu veux le remplacer ?
- Sous quelle(s) condition(s) ?
 

death_angel

Habitué
lol ... dsl

je vais prendre un exemple, quand je récupère ma nomenclature, je peux trouver ceci : 00100010* et je voudrais avoir : 100010
Je veux donc supprimer le "*" (par VBA)

Je suis plus claire là ?
 

death_angel

Habitué
comme ca je pourrais appliquer ma formule :
=(F2-100000)/2
Qui me donneras alors dans ce cas ci : 1
Si le "*" reste, ma formule ne s'applique pas et le résultat devient : "NOT VALUE"
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 134
Messages
6 718 059
Membres
1 586 394
Dernier membre
Manoushk
Partager cette page
Haut