Ajout de donnés ligne suivante

Résolu
Signaler
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011
-
Bonjour, je souhaite vouloir ajouter des données issues d'une textbox dans la derniere ligne ENTIEREMENT vide, je voudrais savoir si cela est possible
merci
mon code pour le momment :

'Ajoute l'adresse d'un nouveau fournisseur
Sheets("Fournisseurs").Select
Range("B25").Select
    Selection.End(xlUp).Offset(1, 0).Select
    ajout_adresse_fournisseur = ajout_adresse_fournisseur.Value
    ActiveCell.Value = ajout_adresse_fournisseur


'Ajoute le code postal d'un nouveau fournisseur
Sheets("Fournisseurs").Select
Range("C25").Select
    Selection.End(xlUp).Offset(1, 0).Select
    ajout_codepostal_fournisseur = ajout_codepostal_fournisseur.Value
    ActiveCell.Value = ajout_codepostal_fournisseur

le probleme cest que quand l'utilisateur ne remplit pas la case ajout code postal une fois, la fois dapres le code postal rajouter nira pas avec ladresse ajouter mais avec ladresse de la ligne precedente etant donnée qu il y a rien de remplit
merci beaucoup

5 réponses

Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Mortalino, si j'ai bien compris moi-même, il cherchait la dernière cellule vide de chaque colonne où il voulait insérer une donnée. Mais comme certaines données peuvent être absentes, il insérait ses données sur les mauvaises lignes.

De là mon explication qu'il devait s'assurer qu'au moins un champ soit toujours rempli et trouver sa ligne vide à partir de ce champ.

En utilisant un code qui passe souvent sur ce site...
LaLigneVide = ActiveSheet.Cells.Find("*",Range("A1"),,,xlbyrows,xlprevious).row + 1
il pourrait trouver la première ligne vide
et utiliser cette variable pour inscrire sa donnée, mais j'utilisais sa façon de faire.
J'aurais peut-être dû y aller tout de suite avec ma façon... mea culpa

Donc, mirmoleboss, préfère cette méthode:
LaLigneVide = ActiveSheet.Cells.Find("*",Range("A1"),,,xlbyrows,xlprevious).row + 1
Range("B" & LaLigneVide) = ajout_adresse_fournisseur
Range("C" & LaLigneVide) = ajout_codepostal_fournisseur
... ' et le reste

Tantôt, il était 5h00 du matin, maintenant c'est un peu mieux, 18h30...

MPi
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Il faut donc, à ce moment-là, que tu t'assures qu'un des champs soit toujours renseigné.

Ensuite, tu fais ta recherche de ligne vide une seule fois sur cette colonne.
Et finalement, tu utilises Offset(0,nombre) pour te déplacer vers la droite ou la gauche sur cette même ligne. "Nombre" étant le nombre de colonnes de déplacement.

MPi
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

tout dabord merci davoir repondu si vite
donc si ai bien comprit il met impossible de faire en sorte que la donné soit ajouter a la derniere ligne entierement vide???


merci de ton aide et je pense faire comme tu as dit et puis tester si le champs est remplit comme ca j'eviterais les erreurs.
et ensuite pour la modification je deplacerai en fonction des cellules a completer
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut,

je comprends rien à ton histoire de ligne vide mais pour rajouter une ligne :

Text1.Text = Text1.Text & vbCrLf & "Ma nouvelle ligne"

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
Messages postés
303
Date d'inscription
mercredi 11 octobre 2006
Statut
Membre
Dernière intervention
29 juillet 2011

merci beaucoup