Excel: selection de lignes non vides

  • Auteur de la discussion oralenti
  • Date de début

oralenti

Nouveau membre
Salut les gens!
je viens vers vous parce que je bataille un peu... j'espere que vous pourrez m'aider!
En fait, j'ai un tableau a 22 colones, et je voudrais selectionner les lignes des colonnes (B,S,T,U,V) mais seulement si la ligne n'est pas vide. Je suis assez clair?
j'ai la commande:
[cpp]worksheet ("AC003"). range ("B","S:V").copy destination ... etc [/cpp]

donc pour selectionner les colonnes, mais il faut que je rajoute quelle commande pour faire une selection "si non vide" ?

merci!

 

Freeman23

Expert
Pour tester une cellule vide il faut :

Code:
' si i est la ligne en cours
If worksheet ("AC003" ). range("B" & i) <> "" then 

end if

C'est valide pour une cellule et ca va t'obliger à passer par une boucle for. Si tu veux tester que toutes les cellules concernées sont non vides il te faut faire un AND.

Code:
' si i est la ligne en cours
If worksheet ("AC003" ). range("B" & i) <> "" And worksheet ("AC003" ). range("S" & i) <> "" then 

end if
 

oralenti

Nouveau membre
Salut.
Merci pour ta reponse!
j'ai pas tout a fait fait comme ca, mais mon prog marche, et c'est ce que je voulais... lol
En fait, jai fait comme ca:
[cpp]
Do Until Sheets(cellule testee).Offset(i, 0) = "" And Sheets(cellule suivante).Offset(i + 1, 0) = "" ca me permet de verifier s'il n'y a pas de ligne sautee

If (ma cellule).Offset(i, 0) <> "" Then
Sheets(cellule d'origine).Offset(J, 0) = Sheets(cellule de destination).Offset(i, 0)
Sheets(cellule d'origine).Offset(J, 0) = Sheets(cellule de destination).Offset(i, 0)
J = J + 1
End If
i = i + 1
Loop[/cpp]

merci,
A+
 

oralenti

Nouveau membre
J'ai encore une question, pis normalement, ca sera bon... :D
Comme j'ai environ 60 onglets dans mon tableau, mes lignes de code ne rentrent pas dans un seul module, donc je voudrais utiliser la fonction fill pour suivre sur un autre module.
Le soucis, c'est que sur le premier module, j'ai un compteur qui me sert pour la boucle, et quand j'utilise la fonction fill, dans le deuxieme module, je perd ce compteur.
Comment je peux faire pour recuperer ce compteur dans le deuxieme module en utilisant la fonction fill ?

module 1:
[cpp] J = J + 1
End If
i = i + 1
Loop

fill2

End Function[/cpp]
module 2:
[cpp]Function fill2()

i = 0[/cpp]

merci les gens! :hello:
 

zeb

Modérateur
Oralenti, merci de relire le règlement. On utilise
Code:
 ou [cpp] et non pas [quote] pour présenter du code. Merci de modifier tes précédents messages.
Clique sur les jumelles noires et rouges  au dessus du message de Freeman pour voir comment lui a fait. Merci.


_________________________



[quote]Comme j'ai environ 60 onglets dans mon tableau, mes lignes de code ne rentrent pas dans un seul module[/quote]
??? Rien compris :(

Ton code ne me semble pas bon : [fixed]Sheets(cellule testee).Offset[/fixed]
Confonds-tu Sheets et Range ?
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 126
Messages
6 717 807
Membres
1 586 365
Dernier membre
matiOs1
Partager cette page
Haut