Aider moi

Signaler
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013
-
cs_zakaria90
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013
-
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

Messages postés
14256
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
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
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013

je vais tester ce code
merci Mr whismeril
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013

bonjour
ce code ca marche pas
Messages postés
14256
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
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
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013

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
Messages postés
14256
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
Le principe je l'avais compris, poste le code que tu as mis dans tes boutons.



Whismeril
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013

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
Messages postés
14256
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 février 2020
343
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
Messages postés
31
Date d'inscription
jeudi 14 avril 2011
Statut
Membre
Dernière intervention
13 février 2013