Aider moi

cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013 - 19 oct. 2012 à 13:40
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013 - 29 oct. 2012 à 17:01
Bonjour les amies
j'ai réaliser un application qui contient des fenêtre
une fenêtre contient trois TextBox
Premier on saisie le CIN
2éme on saisie le NOM
3éme on Saisie le PRENOM
et un dataGridView
button1 qui affiche le contenu de Excel a DataGridView
button2 qui ajouter le contenu de les 3 textBoxs
est enregistre à Excel
Button 3 qui supprimer une ligne dans Excel a partir de TextBox1.
j'ai réussie les button1(affichage) et button2(Ajouter).
Mon problem j'ai pas une idée pour supprimer une ligne dans Excel a partir d'un TextBox1
a partir d'une Button3

aider moi
merci merci pour comprendre le problème

9 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
19 oct. 2012 à 20:01
Bonsoir,

si tu veux supprimer une ligne, c'est à dire que la ligne du dessous prenne sa place:

tu dois sélectionner un Range correspondant à ta ligne, puis supprimer ce range en précisant que le décalage du reste du tableau se fait vers le haut:

//exemple si maFeuille est la feuille Excel en cours:
object M = System.Reflection.Missing.Value;
Range monRange = maFeuille.get_Range("5:5", M);//sélectionne la ligne 5
monRange.Delete(XlDeleteShiftDirection.xlShiftUp);//la supprime



tu aurais pu trouver ce code dans ma source que TheFolin t'avais déjà indiqué dans ton dernier post.

Whismeril
0
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013
19 oct. 2012 à 20:36
je vais tester ce code
merci Mr whismeril
0
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013
22 oct. 2012 à 17:07
bonjour
ce code ca marche pas
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
22 oct. 2012 à 18:42
Je te renvoie à la réponse que je t'ai déjà fait sur ce post:
qu'as tu essayer exactement?

Ce code fonctionne très bien chez moi.


Whismeril
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013
23 oct. 2012 à 14:18
Bonjour Mr whismeril j'ai créer un code dans une bouton supprimer on clicke sur bouton il va supprimer une ligne dans Datagridview mais clique sur bouton Afficher il va afficher la ligne qui a supprimer

il n'enregistre pas dans fichier Excel

Merci Mr whismeril pour Votre Attention
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
23 oct. 2012 à 20:06
Le principe je l'avais compris, poste le code que tu as mis dans tes boutons.



Whismeril
0
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013
24 oct. 2012 à 13:16
Bonjour Mr Whismeril
code de 2 bouton Afficher et supprimer c'est :
pour Affichage c'est :

private void button3_Click(object sender, EventArgs e)
{
DialogResult dr = this.openFileDialog1.ShowDialog();
if (dr == System.Windows.Forms.DialogResult.OK)
{
string connectionString = String.Format(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", openFileDialog1.FileName);
string query = String.Format("select * from [{0}$]", "Feuil1");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];

}
}
pour Supprimer c'est :
je met :

private void button5_Click(object sender, EventArgs e)
{
foreach (DataGridViewCell oneCell in dataGridView1.SelectedCells)
{
if (oneCell.Selected)
dataGridView1.Rows.RemoveAt(oneCell.RowIndex);
}
}

ce code pour deux Bouton
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
24 oct. 2012 à 19:13
Alors lors de ta précédente discussion je t'avais invité à lire cette citation de NHenry et le contenu des liens associés:
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list


Si tu l'avais fait cela t'aurais éviter de perdre 8 jours en dialogue inutile.

Quand tu charges le fichier tu t'y connectes comme à une base de données, tu crées un dataset que tu affiches.
Quand tu supprimes les lignes du datagridview, probablement que le dataset est mis a jour puisqu'il est lié au datasource de la grille, mais tu n'as pas écrit pas le code pour mettre à jour dans Excel.

Je n'utilise pas cette méthode donc je ne saurais t'aider comme ça et le code que je t'ai fourni n'est pas compatible avec ta façon de faire, je m'explique:

On lance l'application Excel, on ouvre le fichier, on sélectionne la feuille qui va bien tout ça conformément à ce que j'utilise dans la source qui t'avait déjà été proposée dans ta question précédente. Et quand on en est à avoir une variable qui représente la feuille avec laquelle on travaille (MaFeuille en l'occurrence) à ce moment là mon code fonctionne.

Whismeril
0
cs_zakaria90 Messages postés 31 Date d'inscription jeudi 14 avril 2011 Statut Membre Dernière intervention 13 février 2013
29 oct. 2012 à 17:01
0
Rejoignez-nous