Comment boucher les trous ?

chris1

XLDnaute Nouveau
Bonsoir tout le monde
Une petite question à propos de la saisie semi-automatique.
Je me sers de tableaux dont certaines colonnes contiennent des mots qui reviennent souvent. Lorsque toutes les lignes sont bien renseignées, c'est OK la saisie semi-automatique fonctionne très bien. Mais lorsque ces enregistrements sont saisis par un étourdi (ou un je m'en foutiste) et que certaines cellules ne sont pas renseignées là le système évidemment ne fonctionne plus.
Comment peut on faire pour remplir automatiquement une cellule 'oubliée' par les lettres NR (par exemple pour Non Renseigné). Au cas ou je précise que le tableau comporte environ 20 colonnes et peut aller jusqu'à 2000 lignes.
Il me semblait avoir déjà fait ça en récupérant une astuce mais pas moyen d'y remettre la main dessus.:eek:
Merci
 

ChTi160

XLDnaute Barbatruc
Salut Chris1
bonsoir le forum

un petit exemple de ce que l'on peut faire

Sub comble()
Dim montableau As Range'déclaration de la variable
Set montableau = Range('B3:H25')'affecte une plage à la variable
montableau.SpecialCells(xlCellTypeBlanks).Select 'Ici on Sélectionne l'ensemble des cellules vides de la plage
Selection.Value = 'NC' 'et on place 'NC' dans chacune d'elle
End Sub
cela peut, peut être te faire avancer
Tiens nous au courant
[file name=Combler_Vide.zip size=6958]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Combler_Vide.zip[/file]

Message édité par: Chti160, à: 20/09/2005 21:09
 

Pièces jointes

  • Combler_Vide.zip
    6.8 KB · Affichages: 54

chris1

XLDnaute Nouveau
Re bonsoir ChTi160

Eh bien voilà comme dab c'est impeccable.

Le plus difficile dans tout ça, c'est qu'il faut être prompt car la réponse est tellement rapide que chaque fois je me fais surprendre :) surtout qu'une fois sur deux j'oublie de cocher pour être prévenu.

Merci bien ChTi et bonne soirée.

Et en passant, j'en profite pour donner faire un petit salut à André. :)

A+
 

chris1

XLDnaute Nouveau
Re bonsoir ChTi160

Comme convenu je poste donc ici à la suite.

Donc le code que tu m'as fait hier soir fonctionne très bien et même plus que ça car il y a un truc auquel je n'avais pas pensé.

En fait j'ai un certain nombre de lignes qui sont déjà pré-formatées à l'avance dont certaines cellules ont des formules, d'autres des bordures ou fond en couleur, etc.....

Ce qui signifie que lorsque j'active la macro, il prend également en compte ces lignes qui sont vides et me les remplit de NC. :sick:

Etant donné les choses, serait il possible de modifier le code en disant: SI la cellule se trouvant en colonne B est vide alors ne rien inscrire dans cette ligne et les lignes en dessous.

Merci
 

ChTi160

XLDnaute Barbatruc
Re
je pense que l'on peut faire autrement
il faut abandonner la procèdure précédente
et boucler sur l'ensemble du tableau et comme tu l'indique exclure les lignes dont la cellule en colonne B est vide

pourrais tu me mettre un exemple, des explications
de la configuration de ton tableau
car tu as des lignes prédefinie,formatées donc ton tableau est fixe je pense
un fichier joint peut aider
explique moi

Merci
 

chris1

XLDnaute Nouveau
OK mais je n'ai pas le fichier ici sous la main.
Demain j'en fais une copie et te le ferai parvenir dans la soirée.

/* 15 minutes plus tard */

Je viens de constater une chose car j'ai voulu te confectionner un tableau à la va-vite mais sans les formules et je me rends compte que le problème doit venir de la colonne A avec son N° d'ordre qui part de 1 à 1500 (ou plus me rappelle pas).

Si cette colonne n'était pas renseignée, il se pourrait bien que ça marche. Ce matin pris par le travail, je n'ai pas eu le temps d'approfondir.

Demain je regarde ça et si c'est OK je te le dis (et même si c'est pas OK :S )

Bonsoir et encore merci pour tout.

Chris
 

chris1

XLDnaute Nouveau
Bonsoir ChTi160

Comme promis, je reviens donc pour te dire ce qu'il en est.

Et bien comme je le pressentais hier soir, le seul fait d'enlever la première colonne a tout résolu, d'autant que celle-ci ne servait vraiment à pas grand chose.

Donc le problème du tableau est résolu (tous ceux qui l'ont essayé ont remarqué que la saisie semi-automatique remarchait, certains ayant même cru que ça c'était fait tout seul :) :) :) ).

J'allais partir en te disant un grand Merci mais j'ai une question qui me brûle les lèvres :eek: alors ..... je te la pose.

Comment faire exactement la même chose dans un tableau mais sur 1 colonne seulement.
Par exemple dans un tableau je voudrais remplir les cellules vides de la colonne C.
Ou dans un autre je voudrais faire pareil mais sur la colonne B et puis la F.
En fait est-il possible d'activer cette macro après avoir sélectionné une colonne ou une partie de cette colonne.

C'est juste une question. Si c'est faisable tant mieux mais il n'y a pas le feu au lac, le code que tu m'as donné me convient très bien.

Cette fois j'arrête mon charabia et te remercie très sincèrement.

Chris
 

ChTi160

XLDnaute Barbatruc
Salut Chris1
tout d'abord travail sérieux !!!!

ensuite c'est souvent comme celà avec Excel la résolution d'un problème pousse à la curiosité,c'est tellement puissant(et rien n'est meilleur,en ce qui concerne excel,que la curiosité)Lol
pour répondre à ta question
Comment faire exactement la même chose dans un tableau mais sur 1 colonne seulement.
Par exemple dans un tableau je voudrais remplir les cellules vides de la colonne C.
Ou dans un autre je voudrais faire pareil mais sur la colonne B et puis la F.
En fait est-il possible d'activer cette macro après avoir sélectionné une colonne ou une partie de
cette colonne.
il te suffit de définir la plage de recherche différemmment
exemple définition d'une plage en colonne A
Code:
Sub comble2()
Dim montableau As Range
Dim derlgn As Integer
derlgn = Range('A65536').End(xlUp).Row + 1
Set montableau = Range('A3:A' & derlgn)
montableau.SpecialCells(xlCellTypeBlanks).Select
Selection.Value = 'NC'
Range('A1').Select
End Sub
pour agir sur les colonnes 2'5'7
Code:
Sub comble2()
Dim montableau As Range
Dim derlgn As Integer
Dim col As Byte
Dim item As Variant
With Worksheets('Feuil1')
For Each item In Array('2', '5', '7')
col = Val(item)
derlgn = .Cells(65536, col).End(xlUp).Row + 1
Set montableau = .Range(.Cells(3, col), .Cells(derlgn, col))
montableau.SpecialCells(xlCellTypeBlanks).Select
Selection.Value = 'NC'
Next
.Range('A1').Select
End With
End Sub

bonne fin de Soirée
 

chris1

XLDnaute Nouveau
Re

Eh bien dis donc heureusement que je t'ai dit qu'il y avait pas d'urgence sinon je recevais la réponse avant de l'avoir envoyée :) .

Je viens de faire des essais, tout est OK, tu es un Champion.

Encore une fois merci.

PS: Euh excuse moi mais je n'ai pas compris ce que tu voulais dire par ' tout d'abord travail sérieux !!!!'
 

chris1

XLDnaute Nouveau
Re

Ah OK compris.

Au contraire tu es plus que clair, tu es limpide :) .

---------
Pour ce qui est de revenir sur un fil, je pense que c'est la moindre des choses ne serait ce que par respect du forum mais surtout vis à vis de celui (ou celle ou même ceux) qui se dévouent pour nous aider en nous trouvant toujours une solution.

Encore Merci ChTi160

Et à bientôt....... sûrement

Chris ;)
 

Gérard DEZAMIS

XLDnaute Accro
Bonsoir Chris1 et Jean Marie

Clap Clap Clap

Un petit bravo supplementaire à tous les deux
En voilà des fils comme on les aime !
De la qualité et de la courtoisie
Comme d'habitude, je profite de tout et me forme à vos depens.... :eek:

Merci à vous deux
Bien cordialement

PS Pour J-M l'essentiel c'est la santé, ......... non ........le sans t (Bellecourt) ! :p


Oui ma vie c'est un manège
Toutes choses passent, vont et reviennent
Oui ma vie c'est un manège
Comme une chanson c'est le temps qui l'entraîne ...



@+ GD
 

ChTi160

XLDnaute Barbatruc
Salut GD

oui depuis hier je me demande si quand je suis allé place Bellecour (y a quelques jours)j'ai pas eu la berlu car je crois encore y avoir vu un manège pour enfants et des matelas ou dormaient les roumains qui ont été expulsés il y a de cela plusieurs mois de Squates de Lyon il ont même fait la une il occupaient l'entrée de la gare de lyon Perrache
bon je verifirai cela Samedi
bonne fin de Soirée

Ps moi aussi je me forme de cette façon
je dois avoir des milliers de fichiers excel lol ça devient le Bazar

Message édité par: Chti160, à: 22/09/2005 22:31
 

Discussions similaires

Statistiques des forums

Discussions
300 793
Messages
1 987 227
Membres
209 741
dernier inscrit
Reda061