BAUHAUS44
Messages postés50Date d'inscriptionsamedi 19 août 2006StatutMembreDernière intervention17 juillet 2010
-
19 août 2006 à 16:37
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 2011
-
29 août 2007 à 23:46
Bonjour,
J'utilise excel et visual basic pour créer des macros. Quel est le terme utiliser dans VB pour supprimer une ligne dans excel via la macro et non effacer le contenu (ClearContents) ? J'ai essayé Delet mais sans succès.
Quelqu'un a la solution ?
kamGE
Messages postés11Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention 3 octobre 2008 24 août 2007 à 16:54
ce que j'aimerais faire c'est mettre un bouton"Ajouter article" et quand je clic dessus ca me donne un popup qui me demande "la désignation,le code, et le part nuber) de l'article et quand je clic sur entrée il enregistre la ligne dans le classeur.
j'ai vu dans le forum que tu as resolu beaucoup de problemes.
est ce que tu peux m'aider s'il te plais? et merci d'avance.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 24 août 2007 à 17:09
pour récupérer la première ligne vide dans ton classeur :
Dim PremiereLigneVide As Long
PremiereLigneVide = Range("A65536").End(xlUp).Row + 1
Ensuite, il te faut faut créer un UserForm dans l'éditeur VB, place tes controles et un bouton.
Avec des TextBox sur le UserForm, il te suffit d'appeler la propriété Text du contrôle pour récupérer la valeur.
Et pour l'inscrire dans Excel, faudra se servir de la variable PremiereLigneVide qui contient la valeur de la ligne prête à recevoir une nouvelle donnée :
exemple :
Cells(PremiereLigneVide, 1).Value = TextBox1.Text
Etc..
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 août 2007 à 10:21
oui, en calculant la première ligne vide automatiquement pour aout, suffit de faire dans le "moins 1" pour trouver dynaiquement la dernière ligne utilisée :
PremiereLigneVide = Range("A65536").End(xlUp).Row<strike> + 1</strike>
kamGE
Messages postés11Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention 3 octobre 2008 27 août 2007 à 14:49
oui super ca marche exactement comme je veux.
merci beaucoup.
sinon, pour mettre la date dans une cellule (j'aimerais que cette date soit dynamique, c'est a dire elle incremente avec les jours).
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 27 août 2007 à 14:54
elle s'incrémente quand, on moment du code, ou quel que soit le jour ?
Range("A1").Value = Date
Te mettra dans A1 la date au moment du code, mais si tu reviens le lendemain, la date ne change pas.
Si veux l'inverse, c'est Range("A1").Value = "=Maintenant()"
kamGE
Messages postés11Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention 3 octobre 2008 27 août 2007 à 16:22
j'ai ecris le code que tu m'as donné, j'ai changé la date de mon PC pour voir si la date change avec ou pas!!!ca ne marche pas!!!!
peut etre j'ai mal compris le fonctionnement du code?!!
kamGE
Messages postés11Date d'inscriptionmercredi 22 août 2007StatutMembreDernière intervention 3 octobre 2008 29 août 2007 à 17:00
Done, merci ca marche.
une derniére question et je tembéte plus.
j'au fais un code pour que qunad je clic sur mon fichier excel(sur le bureau) il m'ouvre un userform(page d'accueil) en premier mais ca marche pas.
voici le code:
Private Sub UserForm_Initialize()
On Error Resume Next
Sheets("recette").Cells.ClearContents
Dim marec As recette
Open "TESTFILE" For Random As #1 Len = Len(marec)
merci d'avance
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 29 août 2007 à 23:46
En fait, pose ta question normalement sur vbfrance quand tu en as besoins, je passe régulièrement (presque tous les jours) mais il y a aussi d'autres membres réguliers, qui sont très bons et meilleurs que moi en vba (et formules Excel) et qui pourront donc t'aider aussi quand ils passeront