Meilleur auteur de réponses
C# trouver la 1ere cellule vide sur une ligne Excel

Question
-
Bonjour, voici un code qui recherche dans une colonne une valeur. Si cette valeur n'est pas nulle alors une autre valeur (nextpnetRng) est ajoutée à la droite de la 1ere valeur dans la 1ere cellule vide.
Ce code doit aussi permettre l'ajout de plusieurs autres valeurs sur la même ligne à la droite de la valeur précédente,mais il ne fonctionne pas.
if (produitRecherche!=null) { produitRecherche.Select(); Excel.Range debutSaisiPnet = produitRecherche.Offset[0,1]; Excel.Range nextPNetRng = debutSaisiPnet.End[Excel.XlDirection.xlToRight]; nextPNetRng.Value2 = PnetTxtBox.Text; }
JF Collombet ® CreateSpecificCulture
Réponses
-
Du coup j'ai la solution, il me suffisait de délimiter la recherche vers la droite.
if (produitRecherche!=null) { double PnetDouble = Convert.ToDouble(PnetTxtBox.Text); produitRecherche.Select(); Excel.Range ProdRange = produitRecherche.Offset[0, 30]; ProdRange.End[Excel.XlDirection.xlToLeft].Offset[0,1].Select(); ProdRange.End[Excel.XlDirection.xlToLeft].Offset[0, 1].Value2 = PnetDouble; }
JF Collombet ® CreateSpecificCulture
- Marqué comme réponse Jean-François Collombet samedi 14 octobre 2017 16:13
Toutes les réponses
-
J'ai trouvé un code qui me paraissait bon mais qui ne sélectionne pas les bonnes cellules.
En effet il trouve la valeur de référence (produitRecherche) sans problème mais au lieu d'ajouter la valeur dans la 1ere cellule adjacente à droite, il vient l'ajouter 30 cellules plus loin !!
Dans cet exemple, produitRecherche est "Cartilage" et la valeur à ajouter à droite est 200 :
if (produitRecherche!=null) { produitRecherche.Select(); produitRecherche.End[Excel.XlDirection.xlToRight].Offset[0, 1].Select(); produitRecherche.End[Excel.XlDirection.xlToRight].Offset[0, 1].Value2 = PnetTxtBox.Text; }
JF Collombet ® CreateSpecificCulture
-
Du coup j'ai la solution, il me suffisait de délimiter la recherche vers la droite.
if (produitRecherche!=null) { double PnetDouble = Convert.ToDouble(PnetTxtBox.Text); produitRecherche.Select(); Excel.Range ProdRange = produitRecherche.Offset[0, 30]; ProdRange.End[Excel.XlDirection.xlToLeft].Offset[0,1].Select(); ProdRange.End[Excel.XlDirection.xlToLeft].Offset[0, 1].Value2 = PnetDouble; }
JF Collombet ® CreateSpecificCulture
- Marqué comme réponse Jean-François Collombet samedi 14 octobre 2017 16:13